Guild icon
EmoTracker
Support / customization-support
JSON schemas for many types are available. https://emotracker.net/developers/schemas/items.json https://emotracker.net/developers/schemas/layouts.json https://emotracker.net/developers/schemas/locations.json There is also a composite schema available at https://emotracker.net/developers/schemas/all.json but it requires a certain amount of context to exist in the file before it can reliably determine which type of data you are editing. Please refer to the schemas before asking questions about available attributes. Additional supporting files and examples can be found at https://emotracker.net/developers/sdk/emotracker_sdk.zip
Avatar
MikeTrethewey | Axiom Verge 2021-01-30 21:23
It’s defined the same way you define an inventory item. It’s just called and presented from the tracker layout file.
21:26
@Sora-MMK ^
Avatar
codemann8 2021-01-30 21:27
check out my CodeTracker package under LTTP, I have a bunch of settings set up there
Avatar
Sora-MMK 2021-01-30 21:29
Okay, but how is the picture defined in the version from EmoSaru? I can't see a png detached to the setting. @codemann8 i have looked into other tracker and the json looks a little bit different and i can't "use" the knowledge i get there
Avatar
codemann8 2021-01-30 21:29
i believe the underlying item is defined in common.json
Avatar
Sora-MMK 2021-01-30 21:33
ok i found it. thank you very much
🧡 1
Avatar
Sora-MMK 2021-01-31 00:15
Is it possible to have a toggle and it has two different codes depending on whether it is on or off?
Avatar
EmoSaru 2021-01-31 00:17
No. You can write a custom item that does whatever you want in Lua though.
Avatar
Sora-MMK 2021-01-31 00:20
mh... okay ty
Avatar
Sora-MMK 2021-01-31 00:33
When i use this code, the Item starts disabled. What did i wrong?
// Shopsanity { "name": "Shopsanity", "type": "progressive_toggle", "loop": true, "allow_disabled": false, "stages": [ { "img": "images/noshopsanity.png", "codes": "shopsanity,shopsanity_off" }, { "img": "images/shopsanity.png", "codes": "shopsanity,shopsanity_on" } ] }
(edited)
Avatar
EmoSaru 2021-01-31 01:47
If I'm understand your intent here
01:47
You want a progressive, not a progressive_toggle
Avatar
Sora-MMK 2021-01-31 02:09
This is what I want exactly: I added an option for Shopsanity that adds the shops as locations. That worked well so far, but I came to the problem of Paradox Cave and witch hut. Both already have itemspots and I wanted to add the shop ones, but only as long as the Shopsanity option is activated that I added. If I state that the itemspots are only in logic with shopsanity, witch hut / paradox cave is displayed orange when I play a normal seed without Shopsanity. To get around that, I inserted the spots twice, once with the code shopsanity_off which only shows mushroom / paradox and once with shopsanity_on which then shows the shop spots, too. With progressive, however, I had the problem when I set shopsanity_on that it had also displayed the spots for shopsanity_off and then I had paradox cave and witch hut twice. Here, however, "allow_disabled" worked without any problems. If I switch to "progressive_toggle", it works correctly with the itemspots, but "allow_disabled" does not work, which means that there is a third state of the option in which witch hut and paradox cave are not displayed at all, because they both need the codes from Shopsanity. I don't know if I'm making it harder than it should, but maybe you can help me with that problem. (edited)
Avatar
EmoSaru 2021-01-31 02:24
Did you check the JSON schemas linked in the channel topic and pinned messages here?
02:26
The thing you were missing in your use of progressive items is inherit_codes.
Avatar
Sora-MMK 2021-01-31 02:39
I looked into the pinned messages and JSON schemas, but don't find an answer to my problem. Maybe I just don't understand something that would bring me the solution. but after looking for inherit_codes here in the discord, i think that's exactly what i needed. I'll try it out right away, thanks.
Avatar
Sora-MMK 2021-01-31 02:57
Okay i don't think i'm doing it right. In my common.json, i have this:
// Shopsanity { "name": "Shopsanity", "type": "progressive", "loop": true, "allow_disabled": false, "inherit_codes": false, "stages": [ { "img": "images/noshopsanity.png", "codes": "shopsanity,shopsanity_off" }, { "img": "images/shopsanity.png", "codes": "shopsanity,shopsanity_on" } ] }
And in my overworld.json i have this:
// Witch (With Shopsanity) { "name": "Witch's Hut", "map_locations": [ { "map": "lightworld", "x": 1607, "y": 670 } ], "access_rules": [ "shopsanity_on" ], "sections": [ { "name": "Assistant", "access_rules": [ "mushroom" ], "item_count": 1 }, { "name": "Left", "capture_item": true, "item_count": 1 }, { "name": "Mid", "capture_item": true, "item_count": 1 }, { "name": "Right", "capture_item": true, "item_count": 1 } ] }, // Witch (Without Shopsanity) { "name": "Witch's Hut", "map_locations": [ { "map": "lightworld", "x": 1607, "y": 670 } ], "access_rules": [ "mushroom,shopsanity_off" ], "sections": [ { "name": "Assistant", "item_count": 1 } ] },
If i use the Option "Shopsanity" and have the mushroom, i have the single location spot from the Witch hut. if i track it away, there is another with the shop including. Why do i get both when i have the option on "Shopsanity_on"?
02:58
When i have shopsanity off, it all works like it should
Avatar
EmoSaru 2021-01-31 03:09
Look carefully in the schemas to see where and how inherit_codes should be used.
03:09
You’re got it in the wrong place.
Avatar
Sora-MMK 2021-01-31 03:21
Yeah, you're right, i wasn't carefully enough. I originally tried to write it to the stages but it was shown to me as an error in VSC. That's why I thought it had to go upstairs. I just forgot a comma. I'm just too tired right now and should take a break. Thanks for your patience and help, it is now working as it should.
Avatar
XenoWars 2021-02-04 16:23
Would it be possible to call this code for access_rules? from Hamsda's OOTR tracker
["DMC Lower Nearby"] = { ["DMC Lower Local"] = { function() return AccessibilityLevel.None end, function() return (has("redtunic")) and AccessibilityLevel.Normal or AccessibilityLevel.SequenceBreak end }, },
16:23
Trying to think of ways I can do logic for random starting rooms (edited)
Avatar
codemann8 2021-02-04 16:35
The way I do it, like for Inverted ER in ALttPR, where there is no guaranteed starting point, is to break everything into "region" items and those region items are hosted items to every map location, and then the logic is based on "obtaining regions" and/or the items you need given reaching a certain region. See my pack for examples of this. locations/overworld.json has the entrances locations/regions.json has the logical access rules
Avatar
XenoWars 2021-02-04 16:36
yeah, this is from the regions.lua file in Hamsda's, but i haven't seen any logic that calls it yet
16:36
i'll take a look at yours
Avatar
codemann8 2021-02-04 16:37
also running code like the stuff you quoted is a bit slow, as there is no caching of those results and has to evaluate it for every item/location when you click literally anything in the tracker (edited)
Avatar
EmoSaru 2021-02-04 16:40
There is caching within a single logic update now if you set "enable_accessibility_rule_caching": true in your pack's settings, but you are correct that each user operation minimally results in one full re-evaluation. (edited)
Avatar
Hamsda 2021-02-04 21:12
@XenoWars the actual building of the logic stuff is in build_regions() in the same file (may restructure a lot of this to make it work with automation in the future though, but i think it gives the general idea)
21:13
I have a easier version that I built this child/adult dynamic off of for HKR3 that i never published
21:13
that is also just region logic based on spawns
Avatar
Sora-MMK 2021-02-07 15:53
Is it possible to add the Map Tracker to the Broadcast View? Because i want it in my stream and with pinned stuff the size of the map changes here and there.
Avatar
codemann8 2021-02-07 15:54
You can either use my CodeTracker package or see what I did to add it and modify it on your current package
Avatar
Sora-MMK 2021-02-07 16:00
i changed a lot in my override. I don't think i wan't another tracker, but i could look into it and maybe find something usefull (edited)
Avatar
codemann8 2021-02-07 16:01
I think a lot of what you are trying to do, shopsanity and layout changes, etc are all already done in my pack. There's even many options you can set to change the appearance of stuff if you read the Readme
Avatar
Sora-MMK 2021-02-07 17:41
Okay, I checked your tracker and I have to admit, I'm absolutely speechless. Will probably change after all. The only problems I've noticed so far are that it takes a long time to load (probably because of the amount of code) and that you can only pin one out of three items at Shopsanity (which was exactly that, what I didn't want with mine). I should also say of a friend that she has absolute respect for your work on it. Thanks for showing the tracker. I will now start to make an override for the item arrangement. @codemann8
Avatar
codemann8 2021-02-07 17:44
Yeah I have a fix that will go into the next release that shaves the initial load time in half. And for shopsanity, I intentionally only put one slot for the shops because you will rarely need to, and the cases you would, you just mark it with the most important item there. 3 slots is a bit busy, and as you can see, my tracker is already quite busy. I'm trying to minimize the stuff I add to the tracker (edited)
Avatar
Sora-MMK 2021-02-07 17:47
Yes, you are absolutely right about that, but in Multiworld you often pin something because the mass of relevant items increases significantly.
Avatar
codemann8 2021-02-07 17:48
Sure, but you'll just remember those places (like oh yeah, that was the shop with the mirror and hookshot)
Avatar
TarThoron 2021-02-07 17:49
You could also pin the cheapest important item, then when you come back to buy it, pin the next one. (edited)
Avatar
codemann8 2021-02-07 17:49
no need, if you collect an item, it won't "uncapture" until you collect all 3, at least thru autotracker (edited)
Avatar
Sora-MMK 2021-02-07 17:50
interesting
Avatar
codemann8 2021-02-07 17:50
because the capture grid is related to all 3 checks combined, not individually
Avatar
TarThoron 2021-02-07 17:50
I was looking more at user memory, since that's kinda the purpose of pins.
Avatar
Sora-MMK 2021-02-07 17:50
so for autotracking i have to buy "trash" stuff or i have to track it manually done
Avatar
codemann8 2021-02-07 17:51
You manually clear it if all that's left is trash
17:51
you have to do that no matter what, as in, theres no way to autotrack something that you "don't" collect, because it doesn't know the reason you aren't collecting it (not enough rupees, it's trash, etc) (edited)
Avatar
Sora-MMK 2021-02-07 17:53
yeah i know. was just saying that i was searching for a solution to have them individually. It shouldn't mean you should change that. Sorry if it came off wrong
17:53
Sometimes its hard to remember if you have 6 shops and all have 3 important items and your rupees are just dead xD
17:54
But i know if i change that with an override, it don't get autotracked anymore, so i will have to live with that
Avatar
jat2980 2021-02-08 09:28
Currently autotracking is only support for SNES (snes-9x and bizhawk) and GBA games (bizhawk only) as I understand it. What is needed to unblock the capabilities for an NES game on bizhawk? I just implemented autotracking for Aria of Sorrow and wanted to take a look at doing it for Final Fantasy 1.
Avatar
EmoSaru 2021-02-08 11:00
Theoretically, NES might work. Setting the platform in the pack's manifest to nes would be the first step, but I have not tested it and do not know if there are any e.g. address translation issues.
Avatar
jat2980 2021-02-08 11:09
Is there a hardcoded list in EmoTracker core which only shows the robot if the platform is gba or snes
11:09
That is more what I was concerned about
Avatar
EmoSaru 2021-02-08 13:26
There is a list of supported things in the code, yes, insofar as it has to be a platform it knows about. and has some rudimentary connectorlib mapping setup for. nes is part of that list currently, but entirely untested AFAIK.
👍 1
Avatar
jat2980 2021-02-15 08:05
I have completed a pack for Final Fantasy Randomizer which has completed testing by the community. It supports autotracking and has locations enabled which I believe to be different enough from the existing pack to be worth supporting. What is the next step in order to publish it as currently people are downloading it from a google drive 😛
Avatar
Avatar
jat2980
I have completed a pack for Final Fantasy Randomizer which has completed testing by the community. It supports autotracking and has locations enabled which I believe to be different enough from the existing pack to be worth supporting. What is the next step in order to publish it as currently people are downloading it from a google drive 😛
MikeTrethewey | Axiom Verge 2021-02-15 08:19
Avatar
jat2980 2021-02-15 08:58
I did DM Emo. But I hadn't heard anything for a couple days and I know EmoSaru is a bit more active responding in the discord itself
Avatar
EmoSaru 2021-02-15 11:37
If I didn’t respond to you, it’s because I’m busy with stuff offline, and will respond when I have time.
👍 1
Avatar
Kior_78 2021-02-21 17:09
Is it possible to zoom the bottom part of the tracker? at my resolution it is tiny!
Avatar
codemann8 2021-02-21 17:12
Ctrl+MouseScroll
Avatar
Avatar
codemann8
Ctrl+MouseScroll
Kior_78 2021-02-21 17:18
Thanks! tried Ctrl - + but it was mouse LOL
Avatar
Platypusq 2021-03-04 13:29
I'm working a Majora's Mask map tracker and have been trying to figure our a good way to handle items that you can get from the same location more than once. It's currently in a workable form by just using "capture_item": true to mark which items are located in which place. The only issue with this is that it can end up being confusing when these spots remain green, despite being somewhere that has already been checked. Is it possible to use a different color for locations that are accessible, but have an item captured? Looking at the information on location colors in the FAQ I'm thinking not, but I wanted to check before giving up on the idea.
Avatar
codemann8 2021-03-04 14:34
You could use capture badge icons like I have when marking entrances on my LTTP tracker (edited)
Avatar
Platypusq 2021-03-04 14:45
Thanks! I'll look at your tracker to see how it works
Avatar
flash_am 2021-03-09 15:24
is it ok to ask for feedback on a customized broadcast layout I have been working on? (edited)
Avatar
blasteg 2021-03-09 16:05
it doesn't sound off topic, so I guess try asking and find out
Avatar
RafahHenrique 2021-03-15 09:37
how to customize the icon and name of this button?
Avatar
TarThoron 2021-03-15 09:43
Pretty sure that's a core app button, not a package button. In which case, you can't.
Avatar
RafahHenrique 2021-03-15 09:51
but is there another pop-up button? I'm not using the button to choose settings. It could even be a question mark
Avatar
codemann8 2021-03-15 10:02
I think you can do something like this:
"type": "button_popup", "style": "image", "image": "images/questionmark.png", "image_filter": "@disabled", --optional if needed "popup_background": "#55212121", "layout": "settings_popup"
Avatar
Avatar
codemann8
I think you can do something like this:
"type": "button_popup", "style": "image", "image": "images/questionmark.png", "image_filter": "@disabled", --optional if needed "popup_background": "#55212121", "layout": "settings_popup"
RafahHenrique 2021-03-15 10:10
Thanks you
Avatar
OCD Perfectionist Nitpicker 2021-03-15 16:31
I have a tracker item defined as a toggle_badged but right clicking on it doesn't do anything, help?
16:35
Does the base image and the badge image have to be the exact same size?
16:39
answer is yes, figured it out myself
Avatar
Vicendithas 2021-03-19 14:27
Quick question about locations. Can I have the same named location in 2 different files and have them merge together on the tracker? It would make my life easier for some stuff I'm planning to add to my tracker, but if it's not possible, that's nbd. Just figured I'd check the options before starting
Avatar
MikeTrethewey | Axiom Verge 2021-03-19 14:30
Why do you need them to merge? What's your goal?
Avatar
codemann8 2021-03-19 14:31
Afaik no. But would be nice if it did/could. ie Location Name: Library Section Name: On The Shelf In another file: Location Name: Library Section Name: Entrance
Avatar
MikeTrethewey | Axiom Verge 2021-03-19 14:31
So, one's a location and one's a doorway.
Avatar
codemann8 2021-03-19 14:31
both are blips on a map
Avatar
MikeTrethewey | Axiom Verge 2021-03-19 14:32
I don't recall in the format of save files and such if the names actually have to be unique across all location names? I would imagine so because of being able to @ a Location to be able to reference it's access rules?
Avatar
codemann8 2021-03-19 14:33
it works when you defined it together, 1 location with 2 sections...but not if they are defined in separate jsons
Avatar
Vicendithas 2021-03-19 14:33
Basically I have a separate class of items that would be nice to keep separately in a different file so it's easier to find and edit them later if I need. Part of that is I want to use a different icon for them (and it would be easier to use the default_opened and default_unopened properties of the file). These new items are in some of the same locations as existing items and I was hoping I could both add these new items to a new file, but have them show up in the existing locations.
Avatar
Avatar
codemann8
it works when you defined it together, 1 location with 2 sections...but not if they are defined in separate jsons
MikeTrethewey | Axiom Verge 2021-03-19 14:34
I guess one would have priority and either the second would be ignored or the second would overwrite the first.
Avatar
Avatar
Vicendithas
Basically I have a separate class of items that would be nice to keep separately in a different file so it's easier to find and edit them later if I need. Part of that is I want to use a different icon for them (and it would be easier to use the default_opened and default_unopened properties of the file). These new items are in some of the same locations as existing items and I was hoping I could both add these new items to a new file, but have them show up in the existing locations.
MikeTrethewey | Axiom Verge 2021-03-19 14:35
That's too abstract for my brain.
Avatar
codemann8 2021-03-19 14:35
it would help a lot for maintainability
Avatar
MikeTrethewey | Axiom Verge 2021-03-19 14:46
"class of items": Well, splitting item lists into classes of files is easy enough. "different icon": The location toggle icon in the location popup? That's easy enough. Current implementation is likely that you need to set it per-location, which is less-convenient, but works. Merging them together currently isn't an option. Can the "extra" sections just be loaded with defaults if it's not actually applicable?
Avatar
BreathlessSleep 2021-03-19 17:04
Hello. I am not sure exactly how much of this I need to delete to stop the recent pins from appearing on my broadcast view. Can I delete just: "type": "container", "margin": "0,5,0,0", "content": { "type": "recentpins", "h_alignment": "stretch", "v_alignment": "center", "orientation": "vertical", "compact": true, "num_items": 2 Or do I also need to delete some of the brackets? Then after the file is edited how do I make sure this is the layout that is loaded by the program?
Avatar
Avatar
BreathlessSleep
Hello. I am not sure exactly how much of this I need to delete to stop the recent pins from appearing on my broadcast view. Can I delete just: "type": "container", "margin": "0,5,0,0", "content": { "type": "recentpins", "h_alignment": "stretch", "v_alignment": "center", "orientation": "vertical", "compact": true, "num_items": 2 Or do I also need to delete some of the brackets? Then after the file is edited how do I make sure this is the layout that is loaded by the program?
MikeTrethewey | Axiom Verge 2021-03-19 17:10
Do you have a view of the json file with line numbers on each line?
17:11
Solution is basically: Remove these line numbers and nuke that last comma.
Avatar
BreathlessSleep 2021-03-19 17:19
Hmm, no. Do I need to open it with something other than notepad for that?
17:20
I really don't know what I'm doing and need kind of an explain to me like I'm 5, lol
Avatar
MikeTrethewey | Axiom Verge 2021-03-19 17:20
Match the curly brace before type and after content, remove that block, delete that last stray comma.
Avatar
BreathlessSleep 2021-03-19 17:21
And then I only need to save the file and keep in the override folder?
👍 1
Avatar
MikeTrethewey | Axiom Verge 2021-03-19 17:21
I’m not at my computer so I can’t post code blocks at the moment.
Avatar
BreathlessSleep 2021-03-19 17:22
I understand, no probs, with what you just told me and the help of my boyfriend I probably will be able to get it right. Thanks for helping 🙂
🧡 1
Avatar
TarThoron 2021-03-19 17:23
I would recommend getting Notepad++ as a simple step up from Notepad.
👍 2
17:23
Not that anything more than Notepad is required.
Avatar
MikeTrethewey | Axiom Verge 2021-03-19 17:24
Line numbers are wicked helpful however. :)
Avatar
TarThoron 2021-03-19 17:24
It's better at formatting too.
Avatar
BreathlessSleep 2021-03-19 17:28
17:29
I'm still not exactly sure which lines to remove, but perhaps this helps?
Avatar
TarThoron 2021-03-19 17:34
@MikeTrethewey | Axiom Verge can give you line numbers now
Avatar
Spleebie 2021-03-19 18:11
Delete lines 68-79 and remove the ending comma on 67
Avatar
Avatar
Spleebie
Delete lines 68-79 and remove the ending comma on 67
MikeTrethewey | Axiom Verge 2021-03-19 18:14
Thanks bud!
👍 1
Avatar
Avatar
BreathlessSleep
I'm still not exactly sure which lines to remove, but perhaps this helps?
MikeTrethewey | Axiom Verge 2021-03-19 18:24
Got that from Spleebie?
Avatar
BreathlessSleep 2021-03-20 02:54
Works just like I want it to now, thanks guys!!
🧡 1
👍 1
Avatar
Vicendithas 2021-03-20 17:04
I have a problem I'm hoping someone can help me solve. I'm trying to add some new items to my tracker, but I want them to use a different icon than my default chest images. Looking in the locations.json schema, I don't see a way to overwrite the chest icon on a per item basis. I need these new items to exist in the same locations as other items that use the default chest images, and I don't want to have to do "hosted_item" for all of these because there are a lot of them. Any ideas?
Avatar
Avatar
Vicendithas
I have a problem I'm hoping someone can help me solve. I'm trying to add some new items to my tracker, but I want them to use a different icon than my default chest images. Looking in the locations.json schema, I don't see a way to overwrite the chest icon on a per item basis. I need these new items to exist in the same locations as other items that use the default chest images, and I don't want to have to do "hosted_item" for all of these because there are a lot of them. Any ideas?
MikeTrethewey | Axiom Verge 2021-03-20 17:27
I believe an OoT pack does this.
Avatar
EmoSaru 2021-03-20 17:34
If you look carefully at the location schema, you can set custom chest icons per-section within a location. That is the finest level of control the tracker offers, as a section is the smallest unit for location data. It sounds like that's enough for you though, so I'm confused.
Avatar
Vicendithas 2021-03-20 17:42
If I understand correctly, the section object has a reference to the location_visual_properties (which is something I did miss in my initial look at the schema). Are you saying I can overwrite the location_visual_properties within the section object to display the images I want?
Avatar
EmoSaru 2021-03-20 17:45
Both location and section INHERIT from location visual properties
Avatar
Vicendithas 2021-03-20 17:49
Ok, so it sounds like I want to overload/override (I can never remember the difference between these) the inherited property for the sections I need to use the different images then. Does that sound right?
👍 1
17:50
Or am I just not understanding this? lol
Avatar
Vicendithas 2021-03-20 18:01
Well I feel like an idiot. I had tried to do exactly what I just described and it didn't seem to be working. I just realized the visibility rules on the section I was trying to add was preventing it from being shown. It worked exactly how I thought it would, but my stupidity made me think I wasn't doing something right. Thanks you guys for the help.
Avatar
Avatar
Vicendithas
Well I feel like an idiot. I had tried to do exactly what I just described and it didn't seem to be working. I just realized the visibility rules on the section I was trying to add was preventing it from being shown. It worked exactly how I thought it would, but my stupidity made me think I wasn't doing something right. Thanks you guys for the help.
MikeTrethewey | Axiom Verge 2021-03-20 18:01
Lots of moving parts.
Avatar
blasteg 2021-03-30 08:34
so uh. I'm digging around, where is the part that fix the size and remove some section when choosing item only variants? (edited)
Avatar
codemann8 2021-03-30 10:03
when loading a variant, init.lua is called again, so you tell it to load a different json if a certain variant has been chosen... or a simpler method is to make a folder in the root of your pack and name it the same as your variant ID, and beneath it you have the same folder structure as the root structure has, but with the jsons that will override the base ones. So you'll have /layouts/tracker.json with your default layout, and then /some_variant_id/layouts/tracker.json with an alternate definition of the tracker layout ... examples of both of these are implemented in the base emosaru pack (edited)
Avatar
blasteg 2021-03-30 14:19
oh it's those folders... thanks
Avatar
blasteg 2021-03-31 05:51
Is there a Width limit when alliw resize is off?
05:55
It's cutting off to the right, note the non-existing of enlarge button and such
Avatar
codemann8 2021-03-31 05:56
there is a max_width you can use on the various layouts
Avatar
blasteg 2021-03-31 05:57
max_width got the title bar back
05:57
not the cut off part though
Avatar
codemann8 2021-03-31 05:57
you have to set a max_width to multiple layout elements
Avatar
blasteg 2021-03-31 05:58
trying to add it to settings don't quite work
Avatar
codemann8 2021-03-31 05:59
might need a min_width on the overall layout
Avatar
blasteg 2021-03-31 06:00
nada. It seems fixed to a square when allow_resize is false in settings
Avatar
codemann8 2021-03-31 06:00
the best thing to reference is the Items Only Tracker in the emosaru pack
Avatar
blasteg 2021-03-31 06:01
yeah it set width to 300, which is enough for one of my version
06:02
but the other is wider than that so I set it to 1100
06:02
which causes this
Avatar
codemann8 2021-03-31 06:04
yeah a lot of modding consists of trial and error, making small changes at a time and seeing which part of it fails. start with a blank layout and add elements one by one, see where it starts to go wrong
Avatar
Dolphin Sky Drum 2021-04-07 18:51
Is there any way to move pieces of the tracker around? Like, if I load a lttp or SM tracker that has a map, the map is always next to the items, but it makes more sense if the map is above or below the item tracker, Is this something I can edit?
Avatar
MikeTrethewey | Axiom Verge 2021-04-07 18:55
Which pack in particular? The edits need to be specific to the pack. Maybe app-level options can be made, or a more-standardized format of layout keynames and behaviors can be made, but each pack author has quite a bit of flexibility in that sector.
Avatar
EmoSaru 2021-04-07 18:57
You can more or less entirely redefine the layout of any pack using overrides. Exactly what the best way to do that is will vary by pack, depending on how they've laid things out. You can use the Export Override option in the menu (under Advanced) to start exploring.
👍 1
Avatar
Derrick 2021-04-07 18:58
When I created my pack, figuring out how to move stuff was a fun feat, granted I was teaching myself json at the same time
Avatar
MikeTrethewey | Axiom Verge 2021-04-07 18:59
It’s a lot of different parts to learn at once, but the final product is indeed rewarding. :)
Avatar
Derrick 2021-04-07 18:59
You have no idea. I walked around the house like I won the wwf title belt.
🧡 1
19:00
@MikeTrethewey | Axiom Verge have you worked on a pack? (edited)
Avatar
MikeTrethewey | Axiom Verge 2021-04-07 19:00
I’ve edited a few. I’m co-authoring one for Axiom Verge.
Avatar
Derrick 2021-04-07 19:01
Oooo, I worked on the Golden Sun pack
19:01
I need to get cracking on GS:Lost Age
Avatar
MikeTrethewey | Axiom Verge 2021-04-07 19:02
I need to work on my organization a bit but the goal is to have bite-size pieces/files to make overriding easier by only needing to change small bits so that logic updates and such can be merged more-easily, independent from the layout bits.
Avatar
Derrick 2021-04-07 19:02
That is not a bad idea. Like a plug and play library.
19:02
?
Avatar
MikeTrethewey | Axiom Verge 2021-04-07 19:02
Kinda yeah. And split regions into files, split location types into files, etc.
Avatar
Derrick 2021-04-07 19:03
I like that. Now are you talking specifically for axiom or for other games as well?
19:04
I know woefully little about Axiom Verge admittedly
Avatar
MikeTrethewey | Axiom Verge 2021-04-07 19:06
AVerge1 Rando.
Avatar
Derrick 2021-04-07 19:08
Nice. I need to play vanilla Axiom
Avatar
Dolphin Sky Drum 2021-04-07 21:32
I'm using the Super Metroid DASH Randomizer Map Tracker pack, I opened the layout json, but I don't really know what I'm looking at
21:32
I just want to move the map to above the items section so all three sections are in one column
Avatar
Derrick 2021-04-07 22:57
I can take a look tomorrow I am not familiar with that layout particularly, but can see what you mean.
22:58
Tomorrow as in later today after I sleep lol
Avatar
Avatar
Dolphin Sky Drum
I'm using the Super Metroid DASH Randomizer Map Tracker pack, I opened the layout json, but I don't really know what I'm looking at
Derrick 2021-04-08 12:57
When I load Dash tracker the map is above the items.
Avatar
Dual [CDT UTC-5] (TWWR) 2021-04-09 07:52
Someone sent me this and I can understand why this is undesirable. The settings menu is too large for their display. Since that is an item array to test starting island and banned locations, is there an easy way I can make it reduce the icon size with the window, similar to maps?
Avatar
codemann8 2021-04-11 12:13
Currently, maps are the only object that will resize to fit the window. I'd like to see other layout types to have this same ability, but currently there is no way to see that behavior
Avatar
EmoSaru 2021-04-11 12:56
So, the thing is, it's not really resizing to fit the window, it's resizing to fit its bounds
12:56
I can expose the layout element you'd need to stretch things that way, but something needs to constrain its size for it to have any effect
12:57
So it's definitely not just "do the magic right thing"
12:57
And windows extending past the desktop area is something windows allows and doesn't do anything intelligent with in any kind of automatic fashion
Avatar
Dual [CDT UTC-5] (TWWR) 2021-04-13 13:36
I figured as much but wanted to make sure
Avatar
MikeTrethewey | Axiom Verge 2021-04-14 00:28
@BreathlessSleep @strizer86 I realize this is review for Breathless but strizer may still need it: layouts/standard_broadcast.json
"gomode" ] ] - }, - { - "type": "container", - "margin": "0,5,0,0", - "content": { - "type": "recentpins", - "h_alignment": "stretch", - "v_alignment": "center", - "orientation": "vertical", - "compact": true, - "num_items": 2 - } } ] } ] } }
(edited)
Avatar
Avatar
Dolphin Sky Drum
Is there any way to move pieces of the tracker around? Like, if I load a lttp or SM tracker that has a map, the map is always next to the items, but it makes more sense if the map is above or below the item tracker, Is this something I can edit?
MikeTrethewey | Axiom Verge 2021-04-14 00:38
By default, Emo's ALttP pack has the map above the items/pins. This will have the map below the items/pins: layouts/tracker.json
"tracker_horizontal": { "type": "container", "background": "#877373", "content": { "type": "dock", "dropshadow": true, "content": [ { "type": "dock", - "dock": "bottom", + "dock": "top", "content": [
00:39
Reducing the width of the window so that it's taller than it is wide will use the tracker_default layout instead of tracker_horizontal.
00:42
By default, Dorkmaster Flek's Super Metroid pack is the same as above. This will do the same as above: layouts/tracker.json
"tracker_horizontal": { "type": "container", "background": "#000000", "content": { "type": "dock", "dropshadow": true, "content": [ { "type": "dock", - "dock": "bottom", + "dock": "top", "content": [
00:45
Similar can be done with SauceRelic's Super Metroid pack.
00:47
Dorkmaster Flek's SMZ3 pack doesn't support L/R swapping it seems, because of how the dock is designed with the Items/Pins.
00:49
Again, take the proper dock and set it to "top" instead of "bottom" to shift the position of the maps.
Avatar
Sir Rail Of Gun 2021-04-20 17:22
I've been trying to put together my own tracker for Axiom Verge, but the item icons aren't showing up. are there any major formatting stipulations or other notable stumbling blocks I should be aware of and may solve this?
Avatar
Avatar
Sir Rail Of Gun
I've been trying to put together my own tracker for Axiom Verge, but the item icons aren't showing up. are there any major formatting stipulations or other notable stumbling blocks I should be aware of and may solve this?
MikeTrethewey | Axiom Verge 2021-04-20 17:37
17:38
This just happens to be how I arranged the one I’ve been working on.
Avatar
Sir Rail Of Gun 2021-04-20 17:40
oh cool
Avatar
MikeTrethewey | Axiom Verge 2021-04-20 17:45
It’s gonna be hard to troubleshoot without seeing your code. There aren’t that many strict entrypoints for the application. A couple layout keys that it expects, and syntax expectations, and that’s about it.
Avatar
Sir Rail Of Gun 2021-04-20 17:46
well, given that I just started working with this today, it's probably just better to use yours. That said, is there anything you could use help with?
Avatar
MikeTrethewey | Axiom Verge 2021-04-20 17:48
I’ll have to look at @Seraphin Eveles ‘ last update that they gave me, but getting interconnections between zones would be handy. We also need, I think, a story marker flag for Vision.
Avatar
Seraphin Eveles 2021-04-20 17:54
Not really, since being able to get almost anything in the area also means you can beat VISIon.
17:54
That boss actually has really low access requirements.
17:54
And several items can be gotten without beating it.
Avatar
Sir Rail Of Gun 2021-04-21 12:27
@MikeTrethewey | Axiom Verge when you say you need interconnections between zones, are you referring to adding access rules to items?
Avatar
Avatar
Sir Rail Of Gun
@MikeTrethewey | Axiom Verge when you say you need interconnections between zones, are you referring to adding access rules to items?
MikeTrethewey | Axiom Verge 2021-04-21 12:39
Making “locations” to house logic for going from one zone to another. https://github.com/miketrethewey/averge_pack_mm1/blob/vgr-logic/locations/inter/inter-eribu.json
Avatar
Sir Rail Of Gun 2021-04-21 12:40
oh cool, I didn't realize that was a thing
Avatar
Seraphin Eveles 2021-04-22 00:01
I at least did the hard part of figuring out the logic as much as possible lol
Avatar
blasteg 2021-04-27 05:59
so just to double check, Lua custom Items don't have interface to modify what code it give right
Avatar
EmoSaru 2021-04-27 10:52
Lua custom items completely control what codes they respond to.
10:52
Look at the example implementation in the zip file (edited)
Avatar
MisterDad 2021-04-27 15:40
There’s a lot of big words in there
15:40
Like “they” and “zip”
Avatar
blasteg 2021-04-27 15:42
so has anyone done something like, right click a lua item, show a itemgrid
15:42
click something on that grid
15:43
and lua item adds code to itself based on what is clicked
Avatar
MisterDad 2021-04-27 16:16
What are the different colored nodes on the tracker map supposed to represent
16:16
Like on the official link to the past package
16:16
Blue, green, yellow, orange squares
Avatar
MeleeWizard 2021-04-27 16:23
It's near the top of #faq
Avatar
MisterDad 2021-04-27 16:24
Thank you
Avatar
Avatar
blasteg
so has anyone done something like, right click a lua item, show a itemgrid
EmoSaru 2021-04-27 17:30
That would require custom UI code, which is not currently supported.
Avatar
blasteg 2021-04-27 17:40
OK. can I have a custom item give code to another custom item then?
Avatar
EmoSaru 2021-04-27 17:51
It's in lua, you can do whatever you want so long as you have a reference to things
Avatar
codemann8 2021-04-27 17:56
I use it personally to keep two custom items in sync with each other, so that it can display two versions of an icon in different places (ie. a smaller thumbnail icon, and a larger icon tucked away in a settings_popup menu)
Avatar
blasteg 2021-04-27 18:57
OK which pack is it? want to have a look
Avatar
codemann8 2021-04-27 19:01
CodeTracker, LTTP
Avatar
blasteg 2021-04-27 19:05
thanks willpower back if have more questions
Avatar
Magus_Oscuro 2021-04-28 08:07
Pretty sure the answer is going to be "No", but I have been looking at the json schemas and was hoping that there is a way to display a text string in an item layout. It looks like my only option is to have a png with the text pre-rendered into it.
Avatar
Magus_Oscuro 2021-04-28 08:29
Basically I was trying to find a way to get a FF4FE tracker to show objectives
Avatar
Dudude Dude 2021-04-28 08:49
There's no way to just render a text string no. You could create your own text rendering engine of sorts using custom items, so long as you're willing to constrain yourself to a fixed width font, but that's a lot more complicated.
Avatar
Magus_Oscuro 2021-04-28 08:52
That's kinda what I figured, just wanted to make sure I wasn't missing something.
Avatar
MisterDad 2021-04-28 10:27
Question, i keep seeing a different layout in speedrun races for Link to the Past Randomizer, but i dont see that pack on Emotracker
10:29
Avatar
Hamsda 2021-04-28 10:38
because its not an emotracker pack, but rather some web based tracking for restreaming purposes
Avatar
MisterDad 2021-04-28 10:40
oh ok
10:40
ive just been using this setup instead:
Avatar
MeleeWizard 2021-04-28 11:59
Also, the runners aren't marking the items there, but one or two people watching from behind the scenes.
Avatar
Avatar
codemann8
CodeTracker, LTTP
Seraphin Eveles 2021-04-28 14:36
Not to go too off topic, but thanks for this tracker. It's absolutely amazing.
Avatar
MikeTrethewey | Axiom Verge 2021-04-30 00:19
@MisterDad layouts\broadcast_keysanity.json
"tracker_broadcast": { "type": "array", "dropshadow": true, "margin": "10", "content": [ { "type": "array", - "orientation": "horizontal", + "orientation": "vertical",
layouts\maps.json
{ "map_grid": { "type": "container", "margin": "0,0,0,0", - "width": 175, - "height": 350, + "width": 350, + "height": 175, "content": { "type": "map", "maps": [ "lightworld", "darkworld" ] } } }
Avatar
Avatar
MikeTrethewey | Axiom Verge
@MisterDad layouts\broadcast_keysanity.json
"tracker_broadcast": { "type": "array", "dropshadow": true, "margin": "10", "content": [ { "type": "array", - "orientation": "horizontal", + "orientation": "vertical",
layouts\maps.json
{ "map_grid": { "type": "container", "margin": "0,0,0,0", - "width": 175, - "height": 350, + "width": 350, + "height": 175, "content": { "type": "map", "maps": [ "lightworld", "darkworld" ] } } }
MisterDad 2021-04-30 05:54
thank you
Avatar
Lurch9229 2021-04-30 10:01
So I wanna make a lua function toggle a item (TM) when I check off a boss. Now I'm not very adept in Lua to begin with and had tried looking at the example toggle.lua in the SDK but am frying my brain trying to understand it. Is what I'm even asking for possible? I don't wanna use a hosted_item as my maps already have way too many locations
Avatar
Scatfone 2021-05-01 18:43
Is there a default pack that i can build a custom one off of?
Avatar
TarThoron 2021-05-01 19:30
EmoSaru's LttP pack is considered the base pack.
Avatar
Dual [CDT UTC-5] (TWWR) 2021-05-02 14:05
Another suggestion is to use another pre existing pack most similar to the end product you want to make. You need to make sure that you credit the users who created that one as well though.
14:06
Well, also make sure their pack is open source
Avatar
Avatar
Dual [CDT UTC-5] (TWWR)
Well, also make sure their pack is open source
MikeTrethewey | Axiom Verge 2021-05-02 16:51
All packs are open source. Whether or not they’re properly-licensed is another story.
16:52
EmoTracker itself is not open source.
Avatar
Dual [CDT UTC-5] (TWWR) 2021-05-02 17:07
You know what I mean
Avatar
blasteg 2021-05-02 17:14
this reminds me, how should we license our packages?
Avatar
EmoSaru 2021-05-02 17:22
That’s up to the individual pack owner.
Avatar
blasteg 2021-05-02 17:23
is there a suggestion for those that have no idea how licensing work, like me? what should I google?
Avatar
EmoSaru 2021-05-02 17:30
A good starting point for folks who aren’t familiar with licensing would be to read through the standard licenses GitHub makes available, and choose one of them. They have some resources about choosing a license.
👍 3
Avatar
BigMemoire 2021-05-15 10:48
Hello There! can anyone in here help me with a problem i seem to be having with the EmoTracker and OBS Transparency (Chroma Key)?
Avatar
Avatar
BigMemoire
Hello There! can anyone in here help me with a problem i seem to be having with the EmoTracker and OBS Transparency (Chroma Key)?
MikeTrethewey | Axiom Verge 2021-05-15 10:50
Does your streaming software support NDI? Try that instead with Broadcast View.
Avatar
BigMemoire 2021-05-15 10:51
I use normal OBS Studio, where do I find the NDI? (Or what even is that?) Sorry if I don't understand directly.
Avatar
MikeTrethewey | Axiom Verge 2021-05-15 10:53
It’s either bundled with a new version as a source type or you need a plugin.
Avatar
BigMemoire 2021-05-15 10:54
So you mean I need to add EmoTracker as a NDI Source?
Avatar
MikeTrethewey | Axiom Verge 2021-05-15 10:54
Yes.
Avatar
BigMemoire 2021-05-15 11:00
All I'm trying to do is basically turning that black background behind the items transparent so I can use it onto my Stream Overlay. But everytime I try to pick out the color with Chroma Key it removes the Items as well,- Like I can't seem to find a good way of removing it no matter what color I pick.
Avatar
MikeTrethewey | Axiom Verge 2021-05-15 11:00
That’s nice. NDI handles that.
11:04
Like. I get what you’re saying. But EmoSaru explicitly wrote the NDI & Broadcast View interaction to do just that instead of screwing with chroma keys.
Avatar
BigMemoire 2021-05-15 11:05
Alright I'm gonna try that then, Thanks a bunch!
Avatar
XenoWars 2021-05-15 21:26
Are there any packs that have a random start or room by room logic that would be similar to the Prime Trilogy? Cause I really have no idea how I would even start it. Its not like other games where most starting locations still dont require anything to get checks/leave. Most rooms in the Primes require quite a few items to leave or get checks
Avatar
Lurch9229 2021-05-15 21:40
la mulana has a random start and area random feature
21:40
that might be of help
Avatar
blasteg 2021-05-15 22:22
question, is it possible to overlay picture of different size? if so, decide where the overlap is?
22:22
like if I want a 40x40 icon on top of a 80x40 for marking
Avatar
Hamsda 2021-05-16 04:56
as far as im aware, they need to have the same dimensions
Avatar
EmoSaru 2021-05-16 10:53
For the overlay image filter, that’s correct.
10:53
If you’re just looking to e.g. put a background behind something by layering elements, thats a different story.
Avatar
XenoWars 2021-05-17 16:29
I'm not quite sure why my hosted item is not working. I'm trying to have a check become in logic by clearing another check (which I've noticed is a thing on Hamsda's OOTR tracker), but after doing what I saw in Hamsda's tracker, it doesn't seem to be working. I have it defined in items.json, i have "hosted_item" with the check i want to enable the logic, and i have the item for the host in the access_rules for the desired check, but it is not becoming in logic with it.
Avatar
Lurch9229 2021-05-17 17:09
you could try using a lua function instead
Avatar
XenoWars 2021-05-17 17:28
I would if I knew how. I know 0 lua and still need to get learning so I can do the random starts eventually
Avatar
blasteg 2021-05-17 17:30
yeah the LA mulana logic is in full Lua, so you'll need to know that
Avatar
XenoWars 2021-05-17 17:30
oh yeah i should download that pack and see it
Avatar
XenoWars 2021-05-17 17:39
I had hosted items working on the Prime 2 one, but ive apparently since removed it for some reason (at least on my end, dont know if its on public)
Avatar
Lurch9229 2021-05-17 17:46
The la mulanas logic.lua hurt my head after 30 seconds of looking at it today (edited)
17:47
But at least I made an override to make it a bit more appealing on the eyes (edited)
Avatar
XenoWars 2021-05-17 18:52
is there something else needed to make hosted_items work? I tested it by putting them on the layout with test images, and clearing the check doesn't toggle them
Avatar
XenoWars 2021-05-17 19:28
This is examples of the code I have, but I really don't see anything wrong. If this won't work I guess I'll need to learn the lua method. This check specifically needs this kind of thing since if you don't have command or seekers, you have to go through the area you fight Steamlord, which is only open after you've beaten him and unsealed the room. (edited)
19:30
(the check becomes available perfectly fine if enabling command or seekers)
Avatar
XenoWars 2021-05-17 20:22
well, realized i don't need this for this check now, but it would be helpful (but not needed) to have for another check
Avatar
Avatar
Lurch9229
The la mulanas logic.lua hurt my head after 30 seconds of looking at it today (edited)
blasteg 2021-05-17 20:25
that's because it's generated lel
20:26
we basically write a transpiler that wrote the original logic file to lua
Avatar
codemann8 2021-05-17 22:39
There are a number of things that could cause it to not show as accessible. One of them is if you have any access rules on a parent of that location, another is that you are missing a separate rule that includes the hosted item. I'd take note that in order for a location to show as accessible, it needs to have at least one rule that satisfies the requirement at each level.
Avatar
XenoWars 2021-05-17 23:58
That file is all i put for the Steamlord hosted item (in the files they belong in). No access_rules for parents.. All requirements are being met, considering i toggle every item except ones for the other options (edited)
Avatar
codemann8 2021-05-18 00:09
the access rules needs a separate rule that is just the hosted item
00:12
or i'm missing what you're trying to do
00:15
Also, I believe you need an img for a toggle item
Avatar
XenoWars 2021-05-18 00:15
I want the check (Skytown Federation Landing Site) to have the hosted item, Steamlord (set to be hosted on Steambot Barracks E-Tank), as part of the requirements along with all the other items needed to reach it. Having it detect you've gotten the earlier check.
00:16
I tried with an image too, didnt work
Avatar
codemann8 2021-05-18 00:17
the icon should show when you hold left-mouseclick on the map location, does it show the icon toggle when you clear it? (edited)
Avatar
XenoWars 2021-05-18 00:17
But if i toggle the item if i put it in the layout, it does become available
00:21
So the item menu that pops up when you hold left-click, should also show the icon for the hosted item, not just the "chest"?
Avatar
codemann8 2021-05-18 00:21
yes
Avatar
XenoWars 2021-05-18 00:22
Dont think ive ever seen that. I'll have to check in the morning cause im in bed
Avatar
XenoWars 2021-05-18 10:59
@codemann8 ok, there is not another icon along with the "chest"
11:00
Avatar
codemann8 2021-05-18 14:43
Yes, then there is something incorrect about the item definition or the hosted_item reference to it
Avatar
XenoWars 2021-05-18 17:47
Could you see in that file? it doesn't look to me like anything is wrong
Avatar
codemann8 2021-05-18 17:52
No, but I see it by the missing icon on the map location. (Assuming Control Room is defined in the same way as the example you posted above) Somehow EmoTracker is unaware of any item being named that.
Avatar
blasteg 2021-05-18 19:57
might be loading order
19:57
way you order thing in init.lua matters
Avatar
codemann8 2021-05-18 20:00
and also, as a note for the future as well, logical access is calculated in order also. The key sign that you have a logical access ordering problem is if you toggle and item on and off and you see the opposite behavior that you'd expect (edited)
Avatar
blasteg 2021-05-18 20:01
(which is why random statt Lamulana logic is in full lua
Avatar
codemann8 2021-05-18 20:04
I handle the extremely complicated examples, like ones that need a circular reference, by adding a sorta-surrogate copy of a location and then later reference that copy
Avatar
blasteg 2021-05-18 20:05
my entire world circulars multiple times so I just transcribe the randoclogic and call it
Avatar
XenoWars 2021-05-18 20:42
Thanks, it was indeed the order i had it in init.lua
20:43
moved items.json up before the locations, and moved Valhalla (map where the hosted item is) above Pirate Homeworld (map where the check with the hosted item as a requirement item is) and it worked!
20:49
Avatar
MikeTrethewey | Axiom Verge 2021-05-18 21:41
@JarJarThinks I added a picture to images/randomIncentive.png. I hijacked items/flags.json to add the new item.
{ "name": "Sea Shrine is Incentive", "type": "toggle", "img": "images/seaShrine.png", "codes": "seaIsIncentive" + }, + { + "name": "Random Incentive", + "type": "toggle", + "img": "images/randomIncentive.png", + "codes": "randomIncentive" } ]
I edited layouts/tracker.json to add the row to the capture view.
"rows" : [ [ "earthorb", "fireorb", "waterorb", "airorb" ], [ "lute", "key", "rod", "oxyale", "chime", "cube" ], [ "bridge", "ship", "canal", "canoe", "floater" ], [ "adamant", "tnt", "crown", "crystal", "herb" ], - [ "garland", "ruby", "tail", "slab", "bottle" ] + [ "garland", "ruby", "tail", "slab", "bottle" ], + [ "randomincentive" ] ]
(edited)
👍 1
Avatar
MikeTrethewey | Axiom Verge 2021-05-18 22:11
@cybordemon
Avatar
Lurch9229 2021-05-19 14:01
@blasteg any chance you can change the layout for LM1 to look like this permanently. This is just an override I put together after thinking that certain vertical style maps had badges that were way too small. Also felt the same way about trying to read the software names. Starting Location/pistol can still have it's own field if you prefer, but I know what they do so personally don't need them in their own field. Now to just make the PNGs for Start location a bit bigger so they fit better. Thoughts?
Avatar
blasteg 2021-05-19 14:13
looks fine, thanks! (somehow I never thought about splitting items )
Avatar
Lurch9229 2021-05-19 14:14
I did the same with the package I'm working on myself, and with LM having so many items a layout like this is much more better on the eyes
14:15
I can send you the changes I made if you like
Avatar
blasteg 2021-05-19 14:41
I think I'll try it myself first (in a mire around seal rando that's in beta right now, pretty hard to do tracker for)
Avatar
Lurch9229 2021-05-19 14:50
That's fine. hmu if you need help when you get around to it
Avatar
blasteg 2021-05-19 14:50
no problem
14:51
not exatly high in moral right now, so it might be taking a while.
Avatar
Lurch9229 2021-05-19 14:51
that's fine. Ive lost motivation for my own pack atm, so I feel you there
Avatar
XenoWars 2021-05-20 15:44
Thought I'd post here for some feedback on something, cause it looks a bit off to me. Does this look ok to anyone? Anything more need done to make it pop?
Avatar
strizer86 2021-05-20 15:50
I feel like the dark blue is hard to read on the dark background imo
Avatar
Lurch9229 2021-05-20 15:51
yeah I was thinking the same thing, maybe use a lighter blue
Avatar
strizer86 2021-05-20 15:52
If it's meant to represent tricks that are disabled red also an option. If not lighter blue would definitely help
Avatar
XenoWars 2021-05-20 15:52
this is with them enabled
Avatar
strizer86 2021-05-20 15:53
I would have assumed green was enabled. But yeah if you wanna stick with blue I would go lighter
Avatar
Lurch9229 2021-05-20 15:53
try a similar color to this blue #1c88f2
Avatar
XenoWars 2021-05-20 15:53
here is disabled
Avatar
Lurch9229 2021-05-20 15:53
also with the magenta disabled its pretty hard to see too
Avatar
XenoWars 2021-05-20 15:53
the colors themselves correlate to the difficulty of the trick selected
Avatar
strizer86 2021-05-20 15:56
OK. I agree the magenta disabled is also hard. If you're not married to the colours as is maybe green as easy, red for difficult, with yellow/orange between or something
15:56
I don't know them offhand, just spitballing visible colours that can show difficulty
Avatar
Lurch9229 2021-05-20 15:56
if you want to keep the colors maybe change the background to a lighter color to contrast out the dark colors (edited)
Avatar
XenoWars 2021-05-20 15:59
that blue does look better
15:59
the one lurch posted
Avatar
XenoWars 2021-05-20 16:12
Avatar
strizer86 2021-05-20 16:13
Agreed. I would lighten up the magenta a tad bit if sticking with those colours, but that looks better for sure.
16:13
All lighter colours for the darker background (edited)
Avatar
XenoWars 2021-05-20 16:16
thanks for the feedback
16:16
now it's just the long part of adding these all into logic
Avatar
Avatar
XenoWars
that blue does look better
MikeTrethewey | Axiom Verge 2021-05-21 14:23
Go big or go home: #aaaaff
14:24
#aaaaff hex color code information, schemes, description and conversion in RGB, HSL, HSV, CMYK, etc.
14:24
#aaffaa hex color code information, schemes, description and conversion in RGB, HSL, HSV, CMYK, etc.
14:25
#ffffaa hex color code information, schemes, description and conversion in RGB, HSL, HSV, CMYK, etc.
14:25
#ffaaff hex color code information, schemes, description and conversion in RGB, HSL, HSV, CMYK, etc.
Avatar
TarThoron 2021-05-21 14:26
So pastel.
Avatar
MikeTrethewey | Axiom Verge 2021-05-21 14:26
Then use an @disabled filter to have EmoTracker itself do dimming.
14:28
I use the blue for hyperlinks on black backgrounds. It works nicely.
Avatar
TarThoron 2021-05-21 14:35
Petition to call #fafafa the psycho killer color.
👀 1
Avatar
MuffinJets 2021-05-21 14:50
#b00b69 hex color code information, schemes, description and conversion in RGB, HSL, HSV, CMYK, etc.
14:53
I have that color chosen for a single one of my hosted item checks
14:53
It's a nice color
Avatar
OCD Perfectionist Nitpicker 2021-05-21 16:40
you may also want to get feedback from colorblind people to make sure these are distinct in all versions of colorblindness
Avatar
MuffinJets 2021-05-21 19:09
colorhexa has a whole tab for simulated colorblindness It takes the one hex color you have and simulates what it would look like for all the different flavors of colorblindness Feedback is always better, but there is a resource for doing it yourself if you don't have colorblind friends
19:09
Avatar
RodryArk 2021-06-09 00:05
hello everyone 🙂
00:06
question, it's possible to do a tracker for a hack ROM?
00:06
Super Metroid hack ROM
Avatar
codemann8 2021-06-09 00:08
for autotracking: its possible for any software that has readable memory on the SNES for a tracker: its possible to make a tracker for running errands around town (edited)
Avatar
RodryArk 2021-06-09 00:11
I need to ask someone to develop it or can I do it by myself?
Avatar
codemann8 2021-06-09 00:14
generally its a question of community want/need and willingness to create it. As far as whether it will get added to the main list of trackers in the Package Manager, I believe that discretion solely lies with EmoSaru. Which I wouldn't doubt that ROM hacks would prob not be considered. But that doesn't mean you couldn't still make a tracker. You can distribute it via a zip file for others to use.
Avatar
RodryArk 2021-06-09 00:18
As I know, I'm the only one fooling arround with the hack and making things. So there is no community need. If the tracker wont be on the main list, but I can develop it and use it, I'm ok with that
Avatar
flash_am 2021-06-11 21:45
Is middle click a possible option for composite toggles? or really any options past right and left?
Avatar
EmoSaru 2021-06-11 21:48
The only options currently are right and left mouse click.
Avatar
flash_am 2021-06-11 21:50
thank you! im brand new to this so reading through one of the current trackers and having ideas for things as I go. excited to find out this is all through lua since I work in that for a living haha. My thoughts were say for ALTTP having the medallions be a triangle and right click be bombos, left click ether, and middle click for quake.
Avatar
EmoSaru 2021-06-11 21:51
Things like that sound like interesting ideas until you’re on a laptop with a trackpad.
21:52
Left and right click are the two fastest, most reliable, and most ubiquitously available mouse input gestures on PC
Avatar
flash_am 2021-06-11 21:54
good point! I didn't even think about a laptop. I can't imagine trying to do both a game and a tracker on one laptop screen dang but I am spoiled with a multi monitor setup.
Avatar
XenoWars 2021-06-11 21:57
Using just an item tracker is fine. But using a map tracker gets tricky. Speaking as a laptop user (edited)
Avatar
flash_am 2021-06-11 21:59
I actually have an idea for an in-between of map and item-only tracker which has caused me to look into this all.
Avatar
flash_am 2021-06-12 11:54
could someone please help explain what the flags for inherit_codes, img_mods, initial_stage_idx, and capturable mean and if I am on the right path? My best guess looking is that inherit codes takes the codes of the first item in the stages? I see img_mods having "@disabled" so I assume that marks that img as the default disabled img when allow_disabled = false? Just curious what other things could go in this? I honestly have no idea about initial stage index unless its what actually points to what stage should replace the default disabled one and is 0 based indexing. As for capturable, I assume that it means that that its something on the tracker that cannot be gotten in game, but I am not sure how that seems to related to in-game locations as well. For reference, I am reading through the alltpr_entrance_ninban pack trying to learn as its the pack I have that has the least settings overall it seems.
Avatar
Hamsda 2021-06-12 11:59
most of these have descriptions in the schemas (see channel topic) and valid img mods are in the pins
Avatar
flash_am 2021-06-12 12:01
thanks! I will look over that again, sorry.
Avatar
Nicholas Steel 2021-06-12 16:23
Heya, how do I do a pack override? I'd like to replace the overworld and underworld imagery of Codemann8's package with the copies from Emosaru's package and not have to redo it every time Codemann8 updates their package (alttpr_codetracker_codemann8.zip). (edited)
16:23
I understand why the black lines on the maps are there (overworld randomization) but I'm unlikely to play that mode so it's just a visual distraction I'd like to eliminate. (edited)
16:26
Do I just make a folder in the Overrides folder called alttpr_codetracker_codemann8, recreate the relevant ZIP folder structure within it and drop the replacement image files in? Edit: I guess I can just try it now that I've typed it out/thought of it. (edited)
16:32
Yeah, that worked.
Avatar
Hamsda 2021-06-12 16:32
there is a menu point to export overrides for the current pack
16:33
if you just wanna pick a few files and change those around
16:33
but yeah, it will just load those first instead of the ones actually in the pack
16:34
obviously if renaming or pack structure changes happen, you might have to still alter your overrides
Avatar
Nicholas Steel 2021-06-12 16:34
Yep.
16:41
I was also considering moving stuff around in the bottom panels to make dungeon tracking look less like a clusterf*** (looks like they got carried away and over engineered the layout of elements in the Dungeons panel with 5 different arangements of imagery) but that seems to be handled by code and is very likely too tedious for me to do anything about it. (edited)
Avatar
codemann8 2021-06-12 17:53
Read the readme file I provided, I offer an alternate layout for dungeons, if not, an easy way for you to override the alternate layout, which won't change from version to version
Avatar
Nicholas Steel 2021-06-12 18:39
Thanks, I like the alternative layout a lot more.
Avatar
MuffinJets 2021-06-14 15:46
@ParmeShawn Start by looking at the init.lua, that will tell you which files are being loaded
Avatar
ParmeShawn 2021-06-14 15:47
Where am I finishing this woodenConfused
Avatar
MuffinJets 2021-06-14 15:47
What do you mean?
Avatar
ParmeShawn 2021-06-14 15:47
init.lua where am I finding this file haha
Avatar
MuffinJets 2021-06-14 15:48
Ah lol in the scripts folder, usually
15:48
There's very little standardization between packs so sometimes you'll have to dig to find what you need
15:49
Also, I recommend downloading either Notepad++ or Visual Studio Code, those will make .json files a lot easier to read
Avatar
ParmeShawn 2021-06-14 15:49
I've got Notepad++ haha
Avatar
MuffinJets 2021-06-14 15:49
(Plus VS Code will tell you when there are syntax errors in .json)
15:49
ah nice
Avatar
ParmeShawn 2021-06-14 15:49
By scripts folder do you mean the packs folder?
15:50
Or for BizHawk?
15:50
I've not felt this tech stupid in a loooong time. 😬
Avatar
MuffinJets 2021-06-14 15:51
You're good lol
15:51
So when you unzip a pack, this is what it'll typically look like
15:52
Avatar
ParmeShawn 2021-06-14 15:52
Yeah I'm seeing that, so the script in there?
15:52
does it matter which pack I open?
Avatar
MuffinJets 2021-06-14 15:52
There should be a script in there called init.lua
15:53
It doesn't, but I'd recommend looking in simpler packs
15:53
If a pack doesn't have a map, it might not even have folders
15:55
The init.lua will outline a few .json files and/or lua scripts that get loaded, and you can go to them individually to find out what they correlate to and how they work
15:56
I'll also be upfront in telling you that I am not the best person to explain this to someone new, I figured it out as I went through trial and error There aren't really guides on this kind of thing right now, the best advice is to do what you're doing right now
Avatar
ParmeShawn 2021-06-14 15:57
So I opened the init.lua from Raikaru's ZOOTR pack and it only has 4 lines of code in it haha
Avatar
MuffinJets 2021-06-14 15:57
Yeah lol If a pack only has a grid of items, then it has significantly less to load and work with
Avatar
ParmeShawn 2021-06-14 15:57
Yeah his is just a grid with some numericals/progressives
Avatar
MuffinJets 2021-06-14 15:58
That's really all it is
15:58
Add your own items and images
15:59
The hardest part to understand is the layout file and schema, but that's moreso because it's not easy to describe details about a visual layout in a text file
Avatar
ParmeShawn 2021-06-14 15:59
Oh god VB programming is rushing back to me looking at this
Avatar
MuffinJets 2021-06-14 15:59
lol
16:01
There is a schema linked in the channel topic, but it's not exactly beginner-readable from my experience It outlines every json element possible with EmoTracker, and can apparently be loaded into VS Code, but I've never personally gotten that to work so best of luck if you want to use that
Avatar
ParmeShawn 2021-06-14 16:02
I theoretically should be able to backwards engineer Rai's tracker, but this is going to be a lot more involved than I expected
Avatar
MuffinJets 2021-06-14 16:02
Honestly what I'd do is just replace items one by one with Banjo items
Avatar
ParmeShawn 2021-06-14 16:03
Yeah I gotta start photoshopping icons
Avatar
MuffinJets 2021-06-14 16:04
I recommend Paint.net, that's what I've been using
16:04
Find images from sites like the spriter's resource
16:04
Oh, and if you want your pack to show up on the list separate from the others (as well as separate from Raikaru's), you'll need to make a new manifest.json
16:05
Avatar
ParmeShawn 2021-06-14 16:06
Off to the literal drawing board I go I guess lol
Avatar
MuffinJets 2021-06-14 16:06
Good luck lol If you have any questions, ask here and you're also welcome to DM me
Avatar
ParmeShawn 2021-06-14 16:07
Awesome, thanks a lot
Avatar
Lurch9229 2021-06-14 16:08
Don't be too overwhelmed by it all Parme. I managed to make a map tracker with logic in a month with zero experience thanks to Muffin. Once you work out how to do something like add an image and move it around in the layout you will breeze through making a pack. Good luck to ya
aHeartContainer 1
Avatar
ParmeShawn 2021-06-14 16:08
parmesLove
Avatar
ParmeShawn 2021-06-14 18:45
@MuffinJets how do you load it so that it points at your "unofficial" tracker vs a downloaded one? Do you have to package it every time?
Avatar
MuffinJets 2021-06-14 18:45
You have to put your information into the manifest.json
18:45
The uid is the name of your package directory, zipped or not
Avatar
ParmeShawn 2021-06-14 18:46
How do you open the package in EmoTracker though?
Avatar
MuffinJets 2021-06-14 18:46
You'll need to close EmoTracker completely and reopen it to see the changes if you did it right
18:46
For Banjo-Kazooie, since that's not a game on the package manager, it'll be under Other at the very bottom of the list
18:46
Avatar
ParmeShawn 2021-06-14 18:47
You're heccin fast on those image edits 👀
Avatar
MuffinJets 2021-06-14 18:48
Shift + Win + S for super fast screenshots
18:48
Then it shows up as a Windows 10 notification
18:48
I can click on the notification, draw on the image, and the image with the drawing on it automatically copies to my clipboard
18:48
It's super nice
Avatar
ParmeShawn 2021-06-14 18:48
Huh, neat
18:48
I use Gyazo, drag and drop to Photoshop lol
Avatar
MuffinJets 2021-06-14 18:49
For really minor things like a simple red circle I'll do what I described But if I'm doing a lot of edits or adding text to the image I'll do Win + Shift + S like before, but paste it into Paint.net
Avatar
ParmeShawn 2021-06-14 19:31
Well, all my images are started, weeding through the coding with a bud tomorrow
Avatar
Titanduckdk 2021-06-17 07:41
Is there a way to remove an item from the item list after it has been ticked? instead of just enabling it?
Avatar
codemann8 2021-06-17 07:52
I usually handle checklist items by having the icon one thing, turning off the disabled_filter, and then adding an X overlay icon over the top of the icon to indicate you've found something (edited)
Avatar
Titanduckdk 2021-06-17 08:34
I unfortunatly did not understand what you wrote, i am a huge noob, how i have do everything so far is open up others work and learn from their published work
Avatar
codemann8 2021-06-17 08:49
I have an example of what I'm talking about in my pack, LttPR CodeTracker, you can see the Dropdowns section, those items serve as a checklist, to mark off the 8 dropdown entrances you encounter as you go thru the game
❤️ 1
Avatar
Titanduckdk 2021-06-17 12:15
Ah @codemann8 i now see what you meant. and while it is cool, it is unfortunatly what im looking for. but thank you again for getting back to me 🙂
Avatar
Titanduckdk 2021-06-17 13:10
I have two questions that i hope someone can answer. 1) What chooses the location map square size? 2) How do i see what the X and Y location is? Cause no matter what i type, it does not appear on my map
Avatar
Avatar
Titanduckdk
I have two questions that i hope someone can answer. 1) What chooses the location map square size? 2) How do i see what the X and Y location is? Cause no matter what i type, it does not appear on my map
Anguirel 2021-06-17 13:48
You can provide "size: xx" at the same level as the x and y coordinates to change the size of the square. I usually bring up the map in Microsoft Paint to find the X/Y coords for a check. The location pin won't show up on the map unless its access rules have been met. Try pressing F11 to show all locations.
Avatar
Titanduckdk 2021-06-17 13:52
nope. location still not shows. i think my coding is effed xD
Avatar
Anguirel 2021-06-17 13:52
You can open the developer console to see if there are any errors parsing the locations file.
13:53
Gear Icon -> Advanced -> Developer Console
Avatar
Titanduckdk 2021-06-17 13:53
ooooh
13:55
Thank you @Anguirel that made troubleshooting 10 times easier
👍 1
Avatar
XenoWars 2021-06-17 14:22
Is there any way to have tabs on the tab of a map tracker?
14:22
for the purposes of my Prime 2 tracker, this would be useful so that I don't have too many tabs or clutter up one map with a lot of checks.
14:23
Cause I have an idea of how I can implement random starting rooms now
Avatar
Hamsda 2021-06-17 14:31
i mean you can put as many tabs inside of tabs as you want
Avatar
XenoWars 2021-06-17 14:34
well, i was more asking if it was possible
14:35
I'd want to take a note off yours and put "Items, Rooms, Both" tabs under the main maps
14:36
but have it per map
Avatar
codemann8 2021-06-17 14:47
Is this what you mean?
Avatar
XenoWars 2021-06-17 14:57
yeah
Avatar
XenoWars 2021-06-17 15:19
got it sorted. Just gonna need to make it so that all the current items will now show up on the both map
Avatar
MuffinJets 2021-06-17 16:35
The Prime 1 pack has subtabs too
Avatar
XenoWars 2021-06-17 20:03
Any way to have a check clear when you clear a different, unrelated check? If there is, I'd assume it's only through lua (edited)
Avatar
MuffinJets 2021-06-17 20:14
Yeah so the easiest way that I found to do that is to make a lua function similar to this, along with Hamsda's has() function loaded first (I'm on my phone, so the syntax is probably wrong lol)
function not_x() If has("x") then return 0 else return 1 end end
You'll have location 1 have a hosted item for item x, and then if you want location 2 to vanish when you have item x, then have $not_x as an access rule for location 2
(edited)
20:16
There might be a better way, but that's what I've found works with my skill level lol
Avatar
XenoWars 2021-06-17 20:21
So i can use this to automatically mark rooms as reached then, if you have the necessary requirements? I want the square to go black
Avatar
MuffinJets 2021-06-17 20:22
If you're wanting to do that, then ignore what I typed about the function If you want location 2 to automatically clear when you clear location 1, then have both locations share the same hosted item
20:23
Make a dummy item with your default chest/chest-open images as it's images so the end user doesn't know
20:23
Zero Lua required
Avatar
EmoSaru 2021-06-17 20:27
That only works for one section within a location
20:27
And is a bit wonky user experience
20:27
The Lua approach is definitely a better experience
Avatar
XenoWars 2021-06-17 20:28
I want to try and have the room marking easier on people so they dont have to keep marking each room they visit. Making it automatic based on what items you have would help
Avatar
XenoWars 2021-06-17 20:50
Hmm, can a location have more than one hosted item and get cleared when you have at least one?
Avatar
MuffinJets 2021-06-17 20:55
Never tried it
Avatar
Titanduckdk 2021-06-18 08:17
I hate to ask this, cause i know how it is look through others to help. but can someone please look at my small amount of code to tell where where i did everything wrong? i am stuck on the locations json. and its telling me i have a problem on line 7, though i cant see what i am doing wrong
Avatar
SorcererFinch 2021-06-18 08:20
Can you DM me the JSON schema, I'll see if there's anything that immediately jumps out JSON-wise
Avatar
Titanduckdk 2021-06-18 08:35
i just want to say i am helped, and it works 😄
Avatar
Titanduckdk 2021-06-19 01:05
I have now made version 1 of my "gotta catch em all" pack for Lets go Pikachu/Eevee. There are still a few things i would love to change, but i don't know if i can, if possible.
01:05
01:06
i made it because i am having a 12 hour "catch as many as possible" stream comming up, and i needed a tool to help me where to get what lol
Avatar
Tankenheimer 2021-06-19 07:39
Is there a way to move things around in the tracker? Or is the layout just stuck the way it is for any given package?
07:45
Like, I want to rearrange this ALTTP tracker so the overworld map, dark world map, and item box are stacked vertically and just get rid of the pinned locations box altogether so I can just put it off to the side of the same monitor I have my emulator running on. Is that something I could reasonably do? Because as-is this thing is basically just taking up my whole second monitor.
Avatar
Avatar
Tankenheimer
Like, I want to rearrange this ALTTP tracker so the overworld map, dark world map, and item box are stacked vertically and just get rid of the pinned locations box altogether so I can just put it off to the side of the same monitor I have my emulator running on. Is that something I could reasonably do? Because as-is this thing is basically just taking up my whole second monitor.
MikeTrethewey | Axiom Verge 2021-06-19 08:16
Did you try resizing the window?
Avatar
Tankenheimer 2021-06-19 08:22
Yeah. Puts the maps the way I want them, but then the items and pinned locations boxes are off to the side instead of underneath them. I guess I can just drag them off-screen and put the broadcast view window underneath the maps.
Avatar
KodywithaK 2021-06-19 19:20
Are maps able to zoom in? It seems like ctrl+scroll only affects the "items/Locations" section docked on the side I just began to learn by digging through the ALTTPR Standard map's code
Avatar
EmoSaru 2021-06-19 21:09
Maps always fill the space they are allotted - they don’t have an instrinsic size.
Avatar
KodywithaK 2021-06-19 22:15
So is there a way to have the map contained to a fixed size, and ctrl+scroll to zoom-in/out on sections of it?
Avatar
TarThoron 2021-06-19 22:22
The only way to change that map's size is to resize the whole window.
Avatar
KodywithaK 2021-06-19 22:33
I'm fullscreened right now too, oh well then
Avatar
Avatar
MuffinJets
Yeah so the easiest way that I found to do that is to make a lua function similar to this, along with Hamsda's has() function loaded first (I'm on my phone, so the syntax is probably wrong lol)
function not_x() If has("x") then return 0 else return 1 end end
You'll have location 1 have a hosted item for item x, and then if you want location 2 to vanish when you have item x, then have $not_x as an access rule for location 2
(edited)
XenoWars 2021-06-20 17:05
alright, so, im actually going to be using this for setting requirements of before and after doing some event (like scanning before GFMC compound). How would I code this? Just make a lua file with this function in it?
Avatar
MuffinJets 2021-06-20 17:12
Yeah, load a .lua file in your init using ScriptHost:LoadScript like this Then that lua file (Most people name it logic.lua, but that name isn't required)
17:12
17:14
I highly recommend adding Hamsda's has() function, which is this:
function has(item, amount) local count = Tracker:ProviderCountForCode(item) amount = tonumber(amount) if not amount then return count > 0 else return count == amount end end
17:14
And then after that you can add relatively simple lua logic functions Then you reference those lua functions in your access rules of a location with the dollar sign, $
17:16
So if I wrote this function out here:
function NH1() if has("rockets") and (has("dash") and (has("OPTB_advanced") or has("OPTB_phase_save")) or has("cooler") or has("djump")) then return 1 else return 0 end end
I'd add it to my location's access rules like this:
{ "name": "N-H1", "map_locations": [ { "map": "worldmap", "x": 1696, "y": 862 }, { "map": "nexus", "x": 202, "y": 289 } ], "sections":[ { "name": "If blue, this item is observable, but not obtainable. Mark it with the dotted box.", "access_rules": [ "$NH1", "{rockets}" ], "item_count": 1, "capture_item": true } ] },
(edited)
17:17
(I know it's a bit of a wall of text lol)
17:17
This example is taken from my Gato Roboto pack, so you can see it there
Avatar
XenoWars 2021-06-20 17:27
Can you explain the Has() function
Avatar
MuffinJets 2021-06-20 17:29
In-depth? no I just took it verbatim from Hamsda's pack after he recommended it from who knows how long ago. It gives you the ability to outline specific item codes in your own functions in a bit more readable way
Avatar
codemann8 2021-06-20 17:30
Has("item") returns true if quoted item is collected
Avatar
MuffinJets 2021-06-20 17:30
^
Avatar
Hamsda 2021-06-20 17:57
btw since I added the ER pack, which just has a massive amount of these basic function calls, I added a cache on the lua side to not call Tracker:ProviderCountForCode way too often (also slightly altered them, since >= is used way more often for me if I specify an amount, keys for example)
amount_cache = {} function clear_amount_cache() amount_cache = {} end function has(item, amount) if not amount_cache[item] then amount_cache[item] = Tracker:ProviderCountForCode(item) end local count = amount_cache[item] or 0 amount = tonumber(amount) if not amount then amount = 1 end return count >= amount end
17:58
(plus a call of clear_amount_cache in tracker_on_accessibility_updated to get current counts)
17:59
so if you end up with tens of thousands of those calls like me, I'd recommend something like it LUL
Avatar
XenoWars 2021-06-20 20:02
can you call other lua functions in the Has("item")? Like if I want to have $gfmcgate as a requirement for $not_gfmcgate, could I put
function not_gfmcgate() if Has("$gfmcgate") then return 0 else return 1 end end
(edited)
Avatar
Hamsda 2021-06-20 20:02
no its just a regular lua function
20:03
but you can obviously just call gfmcgate() and do whatever you want with that
Avatar
XenoWars 2021-06-20 20:04
so just remove the Has() and leave it as gfmcgate?
Avatar
MuffinJets 2021-06-20 20:05
More like
function not_gfmcgate() if gfmcgate() == 1 then return 0 else return 1 end end
Avatar
Hamsda 2021-06-20 20:05
uh sure?
Avatar
XenoWars 2021-06-21 10:19
can you have two items with the same code without using inherit codes?
Avatar
codemann8 2021-06-21 10:23
yes, just comma separate them
10:24
I use it to mark the various combinations of entrance shuffle and the shared logic between various modes
Avatar
XenoWars 2021-06-21 10:25
and then how will calling that code on a layout work? wouldn't it try to put both items on top of each other? (though it doesn't matter in my case cause the items are the same image)
Avatar
codemann8 2021-06-21 10:27
well, the layout needs to refer to a definite unique code, otherwise there couldn't possibly be a way to expect with 100% certainty what you would see (edited)
10:28
its really only useful if multiple items need to give the same logical access to something
Avatar
XenoWars 2021-06-21 10:29
which is the case with trick difficulty
10:29
knowing a higher difficulty of the trick will logically expect you know the lower difficulties of the trick
Avatar
codemann8 2021-06-21 10:30
THAT is what inherit codes is for tho
10:34
its when you need to mix in other groupings that don't follow the "inherit" flow, thats when you need to explicitly define the codes everything should have at each step
10:35
// Entrance Mode { "name": "Entrance Shuffle", "type": "progressive", "allow_disabled": false, "loop": true, "stages": [ { "img": "images/mode_entrance_shuffle_off.png", "codes": "entrance_shuffle,entrance_shuffle_off,entrance_shuffle_singleentryvanilla", "inherit_codes": false }, { "img": "images/mode_entrance_shuffle_dungeon.png", "codes": "entrance_shuffle,entrance_shuffle_dungeon,entrance_shuffle_on,entrance_shuffle_singleentryvanilla", "inherit_codes": false }, { "img": "images/mode_entrance_shuffle_entrance.png", "codes": "entrance_shuffle,entrance_shuffle_crossed,entrance_shuffle_on,entrance_shuffle_all", "inherit_codes": false }, { "img": "images/mode_entrance_shuffle_insanity.png", "codes": "entrance_shuffle,entrance_shuffle_insanity,entrance_shuffle_on,entrance_shuffle_all", "inherit_codes": false } ] }
(edited)
Avatar
XenoWars 2021-06-21 10:36
im putting the trick difficulties on different tabs now rather than progressive, which is why i asked
Avatar
codemann8 2021-06-21 10:37
I believe each stage of a progressive item handle codes exactly like an individual item (edited)
Avatar
XenoWars 2021-06-21 14:21
Am I right in assuming everything on one side of an or in lua is one set of logic, and everything on the other side is a different set of logic?
14:21
or is it just the one item on either side
Avatar
Hamsda 2021-06-21 14:25
not sure what you mean with set of logic like lua is just a programming language and it behaves exactly as it always would (with some restrictions because we are working in the framework of the main application calling our lua code) so operator precedence still applies just as it always would https://www.lua.org/pil/3.5.html
Avatar
codemann8 2021-06-21 14:27
i was gonna say, context matters.. or is just a logical operator to determine a boolean result. It can also be used in difference ways to conditionally perform some other task, but it matters what you mean by the question. Where are you using it?
Avatar
XenoWars 2021-06-21 14:30
if has("dapos") and has("morph") and has("bomb") or has("dapos") and has("morph") and has("bombslotwithoutbombsa") and has("spacejump") or has("dapos") and has("morph") and has("bombslotwithoutbombsa") and has("standableterraini")
i'm writing requirements for things. would the items on the left side of the first or be one set, the items in the middle another set, and items on the right of the second or a third set? Or do the or operators only affect has("bomb") and has("dapos") for the first, and has("spacejump") and has("dapos") for the second
Avatar
codemann8 2021-06-21 14:32
tbh, this is why i use paranthesis to explicitly define the logical construct, most languages follow a left to right calc, but other languages might do it different, so the explicit paranthesis are generally just better
Avatar
Hamsda 2021-06-21 14:33
thats the bit about precedence i linked and has higher precedence or "binds" more than or so
var1 and var2 or var3 and var4
is the same as
(var1 and var2) or (var3 and var4)
but it is highly recommended to use parenthesis even though they have the same effect, because what you posted is not readable at all
👍 1
☝️ 1
👆 1
14:34
no parenthesis can be used for short statements of course, and is pretty common in lua as a replacement for the ternary operator (see https://www.lua.org/pil/3.3.html)
Avatar
MuffinJets 2021-06-21 15:53
PEMDAS is to arithmetic as ()AndOr is to logic (edited)
Avatar
XenoWars 2021-06-21 20:41
Is it possible to make the tracker uncheck something based on what you have?
Avatar
codemann8 2021-06-21 21:39
Possible?: Yes Intuitive?: No Frustrating to the User?: Maximum in all seriousness idk why you'd do that, but you can modify just about anything on an item with Lua
Avatar
XenoWars 2021-06-21 21:44
At some points in Prime 2, you lose access to rooms youve already been in until you have certain items. If those rooms are still checked and you get the items to get a check in that room, but not the items to actually reach the room, it would incorrectly mark it as in logic, so i would need the room to get unchecked.
Avatar
codemann8 2021-06-21 21:45
Shouldn't those locations always be marked as a sequence break then? Since if you miss it, you can't get back until those items are found?
21:47
But if you are simply taking about visibility, then you're probably better off using invisibility_rules
Avatar
MuffinJets 2021-06-21 21:49
Don't invisibility_rules as well as restrict_visibility not exist anymore?
Avatar
codemann8 2021-06-21 21:49
i just meant the overall framework
Avatar
MuffinJets 2021-06-21 21:49
Like I thought Emo got rid of them because it was too complicated or something
21:49
Ah
Avatar
codemann8 2021-06-21 21:50
the framework to have locations change visibility still exists and is supported
Avatar
XenoWars 2021-06-21 22:08
How would I use that? I dont see anything in pins mentioning it. Or do any trackers currently use it
Avatar
codemann8 2021-06-22 11:28
It depends on the design, personally for checks, as a player, I'd want to always see all checks at any given time, regardless of whether I can get them now or not. It is usually important for routing something that you hope to not isolate something, or not visit something pre-emptively when you know that you have to visit later. Instead, I'd have a multi-stage progressive set up like this:
{ "name": "Some Game State", "type": "progressive", "allow_disabled": false, "loop": true, "stages": [ { "img": "images/game-state-1.png", "codes": "game_state,game_state_1,game_state_checks_available", "inherit_codes": false }, { "img": "images/game-state-2.png", "codes": "game_state,game_state_2,game_state_checks_not_available", "inherit_codes": false }, { "img": "images/game-state-3.png", "codes": "game_state,game_state_3,game_state_checks_available,game_state_checks_inlogic", "inherit_codes": false } ] }
and then you set the logical access rules of whatever locations to "whatever,items,needed,[game_state_checks_inlogic],game_state_checks_available" and this will mark them as yellow from the start, red when you can't access them anymore, and green when you do gain access again. If you want to go the visibility route, it's basically the same thing, you need the progressive item the same way, but you add the conditions to the visibility rules. I use visibility rules extensively in my packs, but I mostly use it for hiding map locations based on what mode you have set (ie. hiding entrances when entrance mode is not turned on). The required json for this is defined in the json schemas in the pins of one of more of the channels here.
(edited)
Avatar
Alextric 2021-06-23 00:03
Hello! First time making a tracker and I'm having an issue where parts of my map images are being made transparent. Is there a way to set this somewhere on my side or do I just need to adjust the image colors? I've pulled apart codemann's lttp tracker for this, but I can't seem to find anywhere that would make that color transparent. That leads me to believe it's part of EmoTracker maybe? Tracker image on left. Original image on right.
Avatar
EmoSaru 2021-06-23 00:10
Perfect magenta (#FF00FF) is treated as a transparent color in EmoTracker. Shifting that color value in your image at all, in any RGB component, will prevent that color key from being applied.
Avatar
Alextric 2021-06-23 00:10
Okay awesome, I'll do that. Thanks!
👍 1
Avatar
XenoWars 2021-06-23 06:26
I love how it perfectly makes it look like that part of the map wasnt explored (edited)
Avatar
flash_am 2021-06-23 12:12
Is it possible to make a pinned locations thing that would look like the following? (Sorry for the AWFUL drawing)
Avatar
CascadeHope 2021-06-23 17:15
With the availability to edit user settings of the Hamsda OOT pack, I'm hoping someone knows how to help with this... I would like to make it so The Mask Shop stops showing up on the tracker entirely, and turn the skull mask and mask of truth checks green.
Avatar
MuffinJets 2021-06-23 19:49
So you might be able to botch that with a user override if you add a bunch of invisible characters like spaces to the flavor text of each check, but I don't know how that would look It would also be a lot of unintuitive work that would only work with a specific window size
19:49
I'm saying that it it might be possible if it's super important that you have it that way
Avatar
Avatar
MuffinJets
I'm saying that it it might be possible if it's super important that you have it that way
flash_am 2021-06-23 21:51
Hmmm, interesting. I am trying to come up with an in-between for the item tracker and map tracker styles. The idea was less about having it in the pinned items and more to replace the map area. Does that make things any easier?
Avatar
MuffinJets 2021-06-23 21:51
So the pinned locations comes directly from map locations so the quick answer is no (edited)
Avatar
Crash 2021-06-24 15:29
how would I make my own tracker? it doesn't need to auto update or anything
Avatar
MuffinJets 2021-06-24 15:35
Start by unzipping a pack that's most similar to what you want
15:36
EmoSaru's ALttP pack, Hamsda's OoT pack, or even my own Gato pack
Avatar
Lurch9229 2021-06-24 15:42
I recommend starting with a pack from Muffin, gato roboto probably has the most simple to understand code and is a good base. But look at someone else's to learn other functions. Remember to make an init.lua pointing to which folders to access. A manifest is required too. That's usually the cause of most starting problems people get. Also could I ask what game you wanna make a tracker for.
Avatar
Crash 2021-06-24 16:05
Well it's not an obscure speedgame known as "Phineas and ferb: across the second dimension" and the 100% run has a lot of collectibles and it is very hard to keep track of without losing lots of time
Avatar
MuffinJets 2021-06-24 16:22
You probably don't need a map then, which will cut like 80% of your work out
Avatar
Crash 2021-06-24 16:23
yeah I will not need a map
Avatar
blasteg 2021-06-25 05:49
How to give an item multiple codes in lua? comma separated?
Avatar
Hamsda 2021-06-25 06:56
as long as the underlying code can handle it, that is up to you, like most things lua
Avatar
blasteg 2021-06-25 07:19
well I want it to work with ProviderCountForCode
Avatar
Hamsda 2021-06-25 07:29
i mean as long as you make canProvideCode and providesCode work with whatever you give the lua item, then it will work with any other functions
Avatar
blasteg 2021-06-25 07:48
...oh, so those are which decides that.
Avatar
blasteg 2021-06-25 08:30
>Initializing toggle items >item not showing upcheck
08:30
>Check aroungd for 2 hours >realize I've been editting the wrong files
08:30
I should go to bed
Avatar
Hamsda 2021-06-25 08:44
that sounds about right lol
Avatar
Walu 2021-06-27 22:09
is there any way to shrink/scale certain parts of the tracker. my secondary monitor is an old 1366x768 tv and on it, the SMZ3 Rando map tracker for some reason opts to have half of the screen taken up by the items section and the pinned locations section apologies if this is an obvious thing I missed or something, or a question that gets asked a lot. (edited)
Avatar
Walu 2021-06-27 22:17
ideally if theres some way i could completely move sections around, i'd like items to be a column on the left, with the map expanded out to take up the entire right side of the screen, akin to a 4:3 game stream layout
Avatar
XenoWars 2021-06-27 23:11
I would assume that it has the items and pins docked to the bottom. If you go to tracker_layout.json for the map variant, you can change the dock to "left" for the items and pins
Avatar
Walu 2021-06-27 23:26
ah, thank ya, i figured it might've been digging into some files, didn't know which to mess with (I did figure out the overrides/export stuff by myself at least)
Avatar
Avatar
XenoWars
I would assume that it has the items and pins docked to the bottom. If you go to tracker_layout.json for the map variant, you can change the dock to "left" for the items and pins
Walu 2021-06-27 23:31
aha, nearly perfectly what I want
23:31
i'd like to make the pinned locations go underneath the items and free up that last bit of horizontal room, if you'd know how to do that, but otherwise this is choice (edited)
23:35
ah, seems it cuts off super metroid's map slightly when in both mode, time to see if I can find a scaling variable or somethin
23:42
is there like an h_allignment setting that'd work? I tried 'fit' just out of curiosity n saw nothin, its set to stretch by default
Avatar
EmoSaru 2021-06-27 23:46
See the json schemas linked in the pinned messages.
Avatar
Walu 2021-06-27 23:48
ah, missed it since they weren't link links and were inside a code box
23:48
scuse me
23:49
rn i'm focusing more on trying to get the pinned locatiosn to go underneath the items
23:49
since i tried disabling it completely and it perfectly fits the map and the items now
23:49
the list will hopefully help
Avatar
Walu 2021-06-28 00:11
i figured it out but now i'm on a different solution/idea
00:11
had the idea to make it tabs
00:12
but the pinned locations shrinks the size of the column
00:12
tryin to figure out how to use min_width
00:14
aha, got it
00:18
perfect
00:18
now to actually play my rando instead of spending two hours nitpicking my tracker layout lmao (edited)
Avatar
XenoWars 2021-06-28 06:45
Id have to check in mine or hamsda's how we have it under
Avatar
Avatar
XenoWars
Id have to check in mine or hamsda's how we have it under
Walu 2021-06-28 07:19
i ended up gettin a solution from someone on another server, it was adding this before the section containing the items/pinned checks section (line 72 in specific), and then closing the brackets later at 108/109
{ "type": "array", "orientation": "vertical", "content": [
I ended up going with the tab solution instead though because it made it so having more than two pinned checks went outside the space of the box, since it was so small
(edited)
07:19
it looked good but without a scroll bar it wasn't the best for actual use
07:19
so i decided to try making it a pair of tabs instead, which works great (edited)
07:22
theres probably some way to add a scrollbar or something that i missed (edited)
Avatar
XenoWars 2021-06-28 07:47
You can
07:47
Ill be able to check soon
Avatar
TarThoron 2021-06-28 08:14
Personally I think giving the pins an entire second tab like that is brilliant. Makes them still available if needed, without taking up real estate when not needed.
👍 1
08:16
Only downside is the info not being there "at a glance." But scrolling such a small frame has the same issue.
Avatar
Dorkmaster Flek 2021-06-28 09:29
They have a second tab with the current layout, it's just horizontal though?
09:29
But yeah that's a nice customization. 👍
09:30
Oooh you mean the previous one with the tabs at the top like the map?
09:30
Yeah that's neat, hadn't thought of that. 😛
Avatar
TarThoron 2021-06-30 00:41
Is there a way to set the consumable counters to have transparent backgrounds instead of a black box?
Avatar
Dorkmaster Flek 2021-06-30 06:08
Not that I'm aware of...
Avatar
codemann8 2021-06-30 06:34
the only way is to have custom numbered overlays instead of badged text
👍 1
Avatar
Alextric 2021-07-01 14:27
Is it possible to supply parameters to functions called inside access rules?
14:30
Actually I may have just found an answer
Avatar
Hamsda 2021-07-01 17:29
yes, with pipes $yourFunction|param1|param2
17:29
and the params will always be of type str
Avatar
theamusedminiature 2021-07-11 02:20
I'm currently working on a new tracker for Crystalis. Im trying to view my layout with emo tracker but I can't seem to get it to load with my other packs. I did not see how to do this in the FAQ. I tried moving my stuff to the emotracker folder in my documents, but it didn't work. Sorry if this has already been answered but I can't seem to find it. Thanks for the help.
Avatar
Lurch9229 2021-07-11 03:05
make sure you have made a manifest.json, and a init.lua pointing to which folders to access (edited)
Avatar
theamusedminiature 2021-07-11 03:17
This is my manifest.
03:18
This is my ini.json. Did I do something wrong?
03:19
sorry meant .lua
Avatar
Lurch9229 2021-07-11 03:19
hmm I can't see anything wrong here. Are you sure there isn't an option called other in the installed packages dropdown. It may be appearing there
Avatar
theamusedminiature 2021-07-11 03:20
I didn't see one let me double check
03:21
Nope... hmmm
Avatar
Lurch9229 2021-07-11 03:22
try making a zip of the package (edited)
03:23
sounds strange but Emotracker sometimes be like that I have found
Avatar
theamusedminiature 2021-07-11 03:24
It is. I figured that it needed to be.
Avatar
Lurch9229 2021-07-11 03:24
ahh cool, glad to have helped
03:25
ohh sorry I read that wrong I thinkl
03:25
I couldn't see the zip image on the folders too well
Avatar
Hamsda 2021-07-11 03:25
you dont need a zip but your uid is still the name of the pack you based it upon, that has to match the name of the folder/zip
Avatar
Lurch9229 2021-07-11 03:26
ahhh Hamsda has a point. Personally I have never looked at the tracker previously so I didn't catch that
Avatar
theamusedminiature 2021-07-11 03:34
hamsda was correct. Thanks for the help I'm basing this off of crossproduct's version. It needed an update.
Avatar
theamusedminiature 2021-07-11 13:58
I'm trying to get the tracker to read the value of "flag_rp" to determine if the check should be green or not accessible. If some one can tell me what is broken that would be great. When I have this set to just return true, Portoa shows up just fine; therefore, I'm assuming that this set of lines has an error.
Avatar
codemann8 2021-07-11 14:51
.AcquiredCount or rather Tracker:FindObjectFromCode("name").AcquiredCount or .Active if it is a toggle item (edited)
14:58
It's hard to tell tho, because we can't see anything about the type of item thats being referenced. From the looks of it tho, that largely looks unnecessary and seems you should just reference the object directly in access_rules rather than build a custom Lua function for it
Avatar
EmoSaru 2021-07-11 15:06
ProviderCountForCode should work in all cases.
15:07
Are you using this function as an access rule, or calling it from some other script?
Avatar
theamusedminiature 2021-07-11 20:01
It is for an access rule. The flag in question tells the tracker whether or not the check is available first thing. or about halfway through the items list.
20:02
All of my other access rules are working just fine. It's just this one that I'm having trouble with.
Avatar
theamusedminiature 2021-07-11 20:48
Haha I win. I had forgotten to set a value for the variable. That fixed it and I'm good to go. Thanks for all the help. Still learning json and lua so I appreciate it.
Avatar
codemann8 2021-07-11 20:50
you likely dont even need that lua function at all, try putting the item code in the access_rule directly
Avatar
theamusedminiature 2021-07-11 20:53
Yeah that worked like a charm. I deleted the lua code and added it in after defining the variable completely. Put it in the access_rule and it works now. Now I can get to work on the other flags! Thanks for the help!
Avatar
HaateXIII 2021-07-12 11:56
Simple and probably stupid question here: Is there a way to have a flag switch between two specific images on a per flag basis (i.e. "if flag1 is on, use image a, else use b. if flag2 is on use image c, else d") ?
11:58
....aaaaaand I just saw what I needed in the items thing. I'll see myself out.
Avatar
Pink Switch 2021-07-12 15:32
Is it possible to manually change the position of an item in an array?
Avatar
EmoSaru 2021-07-12 16:18
Assuming you mean through Lua, no, not currently.
Avatar
Pengkyo42 2021-07-12 16:20
Is there a way to change the colours of the locations (yellow and green), because of colourblindness?
Avatar
EmoSaru 2021-07-12 16:20
Yes - there is a post in #faq describing how to do just that,
Avatar
Pengkyo42 2021-07-12 16:20
oh really? thanks alot!
👍 1
Avatar
goldenspacedragon 2021-07-12 17:04
How would I go about creating an auto tracker for AM2R?
Avatar
EmoSaru 2021-07-12 17:08
There is no support for auto tracking PC games currently
Avatar
theamusedminiature 2021-07-14 00:41
Newbie question how do you make a check location blue?
Avatar
Hamsda 2021-07-14 00:46
with {stuff,needed,to,inspect}
Avatar
theamusedminiature 2021-07-14 00:48
Ok thanks!
Avatar
theamusedminiature 2021-07-14 00:58
should have asked I presume that you add this line in "access_rules"?
Avatar
Hamsda 2021-07-14 01:05
yep
Avatar
🌲 House in The Trees 🎋 2021-07-16 11:02
idk anything and i want to make make a pack where should I start
Avatar
TarThoron 2021-07-16 11:07
Read the info in the channel topic and pins, play around with an existing pack to see how things work, then start building your own.
Avatar
🌲 House in The Trees 🎋 2021-07-16 11:07
will do!
Avatar
🌲 House in The Trees 🎋 2021-07-16 11:25
are the units for x and y in pixles are milimeters?
Avatar
TarThoron 2021-07-16 11:30
Pixels
Avatar
🌲 House in The Trees 🎋 2021-07-16 11:31
Nice thank you!
Avatar
goldenspacedragon 2021-07-17 07:31
How would I go about modifying an existing pack? I want to replace some sprites in the Metroid Fusion pack for myself
Avatar
Hamsda 2021-07-17 08:03
if its just cosmetic adjustments, creating an override for those images will be enough
Avatar
goldenspacedragon 2021-07-17 08:04
i'm guessing i go into the pack's files and look there too?
Avatar
Hamsda 2021-07-17 08:04
the cogwheel has an option to export overrides
08:04
and to open the corresponding folder for you
Avatar
goldenspacedragon 2021-07-17 08:05
oooo
08:05
thanks (edited)
Avatar
blasteg 2021-07-18 06:47
possible to align middle heaader_content?
Avatar
Pink Switch 2021-07-18 12:02
@EmoSaru Is it possible to define a minimum increment on click for consumables? I have an item that the first one you get is always 10, and then 5 afterwards, but min_increment also makes it so it can't default to 0
Avatar
EmoSaru 2021-07-18 12:03
Hmm? I'm fairly certain that the increment does not prevent it from starting at 0. Various packs do that.
12:03
Changing the increment dynamically would require Lua scripting, and I would probably recommend building a Lua custom item to do this.
Avatar
Pink Switch 2021-07-18 12:17
sorry not increment, the min quantity
Avatar
EmoSaru 2021-07-18 19:41
Yes, that's possible. Have you looked at the schemas linked in the pinned messages here?
Avatar
theamusedminiature 2021-07-19 21:26
Is there a way to make a location show in logic for randomized item requirements? (edited)
Avatar
Nave357 2021-07-25 18:32
@Hamsda @TarThoron If you're curious how it ended up, I was able to create this layout by editing the layouts/layouts.json and layouts/tracker.json files. I fiddled with the docks and the margins until I was able to make this layout about as closely to what I want as possible. If I could, I would move the map to the right more so there's not that random blank space and it could be more centered, but I can't so that's fine. Additionally, for the Pinned Locations section, I had to change style from wrap to block so that if I pin multiple locations, they go sequentially horizontally as you can see and don't force everything up and off the screen. So it's a little strange, and took quite a bit of time, but for my preferences it should work really well 😄
18:32
However I'm having a new problem now and I have no idea what caused it....
18:33
I've only changed those layout files to move things, but for some reason, I can only click on things on the map now. If I try to click something on the item tracker portion, it doesn't respond.... what file and/or variable would I need to look into to fix this? (edited)
Avatar
Hamsda 2021-07-25 18:47
maybe you overlayed it with something that is intercepting the clicks? not sure
Avatar
Nave357 2021-07-25 18:48
Turned on Always on Top and still can't click items. No idea what caused it, may uninstall and start over from scratch
18:48
Sadge
Avatar
Hamsda 2021-07-25 18:50
yeah i'm not familiar enough with WPF if it has a sort of inspect mode like a browser has
Avatar
TarThoron 2021-07-25 18:52
You should be able to put an align:center on the map section.
Avatar
Nave357 2021-07-25 18:53
I'll try that once I get the item thing fixed, which I think I'm about to right now in just a moment I'll see
Avatar
Nave357 2021-07-25 19:07
Crazily enough, if I change the layouts/tracker.json file to have tracker_top_map instead of tracker_right_map I cannot click any items on the item tracker, but still have full access of clicking everything else. I will note that in this tracker json file, I changed both of the keys listed to top. Should one stay as right and one change to top? (If any of that makes sense LULW )
Avatar
Hamsda 2021-07-25 19:19
nah that doesn't change anything
19:19
if you make them different and resize the tracker, you will see what they do
19:20
you can define different layouts based on the tracker being widepeepoHeart or tall
Avatar
Nave357 2021-07-25 19:25
I've spent too long on this, I give up, just gonna use the default settings and use it windowed so I can see pinned locations
19:25
Tiredge
19:25
thank you all so much for your help though, I really appreciate it, may pursue it again at some point
Avatar
EmoSaru 2021-07-25 19:26
It looks like you’ve stacked your map on top of the item area
19:26
And the map is eating the clicks
19:26
I suggest taking a closer look at the nesting in your customized layout
Avatar
Nave357 2021-07-25 19:27
Hmm interesting
19:27
Just as I was about to give up LULW lemme try that out
Avatar
Nave357 2021-07-25 20:03
Ok the customization continues: I rearranged the docks and margins so that I can still have a large map, the item tracker works, and I can still see the Pinned Locations albeit it's vertical now instead horizontal along the bottom, but I can live with that. It works better for most places, except that as you can see in the example picture some places like the Spirit Temple still have too many checks and it goes off the edge just barely.
20:04
So is there something I can do in this section of the layout code to change how wide the Pinned Locations section is, or have it wrap vertically somehow if it overflows like with the Spirit Temple?
20:06
Even if not, this is still a lot better and I'm happy enough with this layout, I can make it work for playing
Avatar
Pink Switch 2021-07-25 20:09
@Nave357 all you have to do is make it so the pins are loaded before the map, by placing the pins above the map in the code (edited)
Avatar
EmoSaru 2021-07-25 20:11
You can set the width of the recentpins element. There are json schemas linked in the pinned messages in this channel that describe all the available attributes
Avatar
Nave357 2021-07-25 20:17
If I'm reading this correctly, the pins are loaded before the map. I'll try to check out the schemas. This is my first time messing with json LULW
20:18
ty
Avatar
Nave357 2021-07-25 20:36
For now I added a scale variable and set it to 0.85 which should allow me to see all checks for even the longest location. I'm thinking of looking into scroll bars at a later time, but not right now. Thanks again everyone who helped me look at this, I really appreciate it carmWarm
Avatar
Avatar
Nave357
For now I added a scale variable and set it to 0.85 which should allow me to see all checks for even the longest location. I'm thinking of looking into scroll bars at a later time, but not right now. Thanks again everyone who helped me look at this, I really appreciate it carmWarm
Nicholas Steel 2021-07-25 22:52
@Nave357 Can you upload your tweaks?
Avatar
Nave357 2021-07-26 00:53
@Nicholas Steel would you like me to just DM you my layouts and tracker files?
00:57
If so, feel free to DM me a reminder and I'll do it tomorrow, I'm going to sleep
00:57
Bedge
Avatar
cluekitty 2021-08-09 09:06
Is there a way to have a pack load at a specific window size when the tracker loads? I know there's an application setting that lets you have a default window size, but I'm not sure if there's anything like that for packs themselves. Setting the width/height in the tracker.json just causes a letterboxing effect
Avatar
EmoSaru 2021-08-09 11:55
Nothing for a particular pack.
Avatar
cluekitty 2021-08-09 12:25
Aw. I was hoping not to have a giant window open when opening that pack from startup. I guess I can just suggest to have the default window startup size in application settings then.
12:25
Thanks!
Avatar
blasteg 2021-08-12 03:46
Is it possible to have an item without an image, like, a hidden item that the game always assume you to have?
03:46
going to code it as static
Avatar
codemann8 2021-08-12 03:51
i believe items require the image tag, but you can just put whatever image on it, and you can set it's initial state
Avatar
blasteg 2021-08-12 03:51
mhmm
Avatar
codemann8 2021-08-12 03:54
I actually use a similar concept for boss shuffle support in LTTP, for Lanmo2 and Moldorm2 in GT, they don't drop any items, but I use a dummy item as a hosted_item that doesn't have a valid image set for it, but the slot has a item capture grid so the user can select which boss is there (edited)
Avatar
blasteg 2021-08-20 15:55
Been having problem with item only variant of all things...
15:56
it's taking way more space vertically than needed. resizing is off
16:03
and I have no idea what property I should be using...
Avatar
TarThoron 2021-08-20 16:10
Should be able to set height and/or max_height (in pixels)
Avatar
cluekitty 2021-08-20 16:11
You'll want to specify a width & height of the tracker element of tracker_default, tracker_horizontal, or tracker_vertical
16:12
If you don't want people to resize it
16:12
I have this in one of mine:
{ "tracker_default": { "type": "container", "background": "#000000", "width": 480, "height": 400, "content": [ ... ] }
16:13
That's for the full window size, that is
16:13
other elements can have width & height as well
Avatar
blasteg 2021-08-20 16:20
I don't even know what's causing it to be not resizable.... the map variant resizes fine...
16:20
I might have bungled up "tracker_default" "tracker_horizontal" somewhere...
Avatar
cluekitty 2021-08-20 16:20
Oh, you want it to be resizable?
16:21
Look for "allow_resize": in the configs somewhere
Avatar
blasteg 2021-08-20 16:21
I'm fine either way, just not taking half the screen when it doesn't need to lel
Avatar
cluekitty 2021-08-20 16:21
I have "allow_resize": false in my settings.json
Avatar
blasteg 2021-08-20 16:23
ah it has that in its variant folder somehow...
16:23
I was too focused on logic to learn layouts
16:28
I thought it would try to fit with minimal space used on load whether you allow resize or not though
Avatar
Mopsy 2021-08-22 07:38
counter
Avatar
CodeGorilla 2021-08-23 17:08
Is there a way to negate an access rule without resorting to lua? And if not, is it possible to make lua functions that take arguments and use them as accessibility/visibility rules?
Avatar
Hamsda 2021-08-23 17:12
Is there a way to negate an access rule without resorting to lua?
in most cases, no
is it possible to make lua functions that take arguments and use them as accessibility/visibility rules?
yeah, you pass in arguments via pipe, e.g. $function|arg1|arg2 (of note, in the lua part the args will always be strings)
Avatar
CodeGorilla 2021-08-23 17:34
That works for me then, I can just write a simple lua negation function to handle all items via argument.
Avatar
blasteg 2021-08-23 17:38
Question, what's the best way to have 2 mutual exclusive square at the same location? Say graveyard ledge
17:39
if entrance rando is on, it's an entrance. if it's off, it's an item
Avatar
goldenspacedragon 2021-08-23 17:56
Oh hey that reminds me, can someone make a pack for Super Metroid VARIA Rando that allows for autotracking of randomized areas? I don’t want to use the browser one because of how it doesn’t work well at all with Snes9x, and 9x is the only one that runs properly on my system. Not kidding.
Avatar
Avatar
blasteg
if entrance rando is on, it's an entrance. if it's off, it's an item
codemann8 2021-08-23 17:57
Two separate map locations, with visibility_rules to display when applicable
Avatar
blasteg 2021-08-23 17:58
what if they turn on all location
17:58
user
Avatar
codemann8 2021-08-23 17:58
dont let them if entrance enabled
17:58
build the visibility rule accordingly
Avatar
blasteg 2021-08-23 17:59
I have different accessibility rules that handle visibility fine
Avatar
codemann8 2021-08-23 17:59
beyond that this is a design choice on your part
Avatar
blasteg 2021-08-23 17:59
but run onto a problem that the red overrides green when all location is on
18:00
ok. hmmm...
Avatar
TarThoron 2021-08-23 18:00
Trouble with making a pack for VARIA is that the logic can customized to a fairly insane degree, so you can't get it to work for every preset the way the browser version can. But you could make one for the standard presets at least.
Avatar
goldenspacedragon 2021-08-23 18:01
I would say just dupe the browser version but that would be cheating
Avatar
XenoWars 2021-08-23 18:57
Graveyard ledge. is this oot or something else?
18:58
cause if it's oot, the two graveyard ledges are either an item (the PoH) or a location (the nocturne warp), not both
Avatar
blasteg 2021-08-23 19:17
AlttP, in OoT the example would be a Great Fairy Fountain
Avatar
codemann8 2021-08-23 19:20
it applies anywhere, either entrances are randomized or the locations are vanilla, it can never be both
19:21
this is why I'm struggling to understand what you are trying to do cuz it kinda doesn't make sense, but this also sounds like some kind of thing you are trying to make a design decision around so I don't think there is anything that anyone here can help you with
Avatar
blasteg 2021-08-23 19:33
I've done the logic proper, just the display when all location is,on isn't working
Avatar
CodeGorilla 2021-08-23 19:52
I think what you're looking for is different visibility rules, not accessibility rules. View all locations still won't show you locations that aren't visible according to their rules.
Avatar
blasteg 2021-08-23 20:03
are we talking about blue squares visibility? or is there another kind? (edited)
Avatar
CodeGorilla 2021-08-23 20:24
Different kind. If you use the tag "visibility_rules", you can define rules that make a square visible.
Avatar
blasteg 2021-08-23 20:31
well then. thanks. will look into it after work
Avatar
TidusZecht 2021-08-24 15:20
is there a way to change the background color of broadcast view for chroma key purposes?
Avatar
EmoSaru 2021-08-24 15:41
You can export an override and set it to whatever you want, but the better way is to search the discord for NDI and capture that way to avoid the issue entirely.
Avatar
Lurch9229 2021-09-07 09:31
So I'm working on a pack and I need to assign a value for max health (need a certain amount of either health or heals to progress a certain area) however there are 2 types of health pickups (+5 and +20) and items you can equip to reduce damage taken or give more heals. what would be the best way to write the logic for this. don't wanna have 40 lines of items in the access_rules section really.
Avatar
cluekitty 2021-09-07 09:43
write a function in lua and call the function in the access rules. That will keep the access rules looking clean and you can keep the actual logic outside of the locations file
Avatar
Lurch9229 2021-09-07 09:45
I don't know enough about lua really. I've only used it to do a bit of room requirement stuff involving items and not math
Avatar
Dorkmaster Flek 2021-09-07 10:15
Could you have the max health item be a quantity item in increments of 5?
10:16
Similar to missiles in SM/SMZ3.
10:16
Then you can do something like ex. health:100 if health is the item code and 100 is the min health for that check.
Avatar
Lurch9229 2021-09-07 10:26
Maybe I can use a hidden item to assign the value for health: and adjust the value for relics that you have. Just trying to think about how I would then tie in the 2 items on the tracker to add to the value
Avatar
Dorkmaster Flek 2021-09-07 10:27
You could, but I think that would require a bit of Lua. If you're going to use Lua anyway, I think what cluekitty suggested is easier in that case.
10:28
You make a function that returns say health5 * 5 + health20 * 20 (making up the health pickup item codes, if you're tracking them separately).
10:29
If the function is named say maxHealth() then in the access rules you would just write $maxHealth:100 or whatever the min health for that check is.
Avatar
Lurch9229 2021-09-07 10:32
either way there is no way of escaping lua in this case 🤢
Avatar
Dorkmaster Flek 2021-09-07 10:32
Yeah I think you're gonna have to use a bit either way. 😛
Avatar
XenoWars 2021-09-07 10:39
so what exactly is a hidden item? i've seen people mention it, but dont really know what it is or how to use it. Would probably be useful for some things on my tracker
Avatar
Dorkmaster Flek 2021-09-07 12:46
I'm assuming that just means an item that is defined in the item JSON file, but doesn't appear on any of the item grids?
Avatar
XenoWars 2021-09-07 13:16
yeah, which is what i want it to do. i want it to detect you got the item via hosted_item when you clear some checks, but i dont want these specific ones to be on the item tracker
13:16
events for opening certain gates
Avatar
Lurch9229 2021-09-07 13:26
Then a hidden item would do that for you, I used a couple in the last pack I was working on, useful for raising flags the user doesn't need to worry about tracking (edited)
Avatar
XenoWars 2021-09-07 16:03
so how do i do a hidden item? i dont see anything in pins or schema about it
Avatar
cluekitty 2021-09-07 16:21
It's just a regular item that you don't include in any of the layout files
16:21
You include it in your items, but exclude it from the tracker layout
Avatar
XenoWars 2021-09-07 16:25
as i've explained to lurch, doing that didnt work. i still needed it in the layout for the hosted item to work
16:25
i think i had not included at least
16:29
ok, might be that it was i included on the layout, but did not define it with an image in items.json, which made it not work
Avatar
cluekitty 2021-09-07 16:39
oh, weird.
Avatar
XenoWars 2021-09-07 16:41
but since i want it hidden, i just not include it on layout. i will try that
Avatar
Lurch9229 2021-09-07 18:06
I think I have just found a bug with hosted_items though. I checked off the location with a hosted item and then unchecked it, and it still shows the locations the hosted item unlocked (edited)
Avatar
EmoSaru 2021-09-07 19:00
clearing a hosted item is a one-way street (edited)
19:01
if you want to "uncheck" it in that way
19:01
you need undo
19:01
or you need lua to clear the item back out
Avatar
Lurch9229 2021-09-07 19:02
ahh I see, thanks for the clarification
Avatar
Vicendithas 2021-09-07 20:27
I'm working on adding autotracking to my pack, but I can't figure out how to get the robot to show up when I'm running the dev version of my pack. I understand that eventually when I have a release, I'll add "autotracker" to the pins in my repository.json, but I don't want to do that yet since it's not released. Any ideas on what I'm doing wrong?
Avatar
EmoSaru 2021-09-07 20:49
What game/platform is for? There's a platform field you need to add to your pack's manifest file
Avatar
Vicendithas 2021-09-07 20:52
Pokemon Crystal, Gameboy
Avatar
Vicendithas 2021-09-07 21:11
I figured it out. I think the problem was that I did have a platform field in my manifest.json file, but it said "gb" not "gameboy".
Avatar
EmoSaru 2021-09-07 21:15
Ah. Yeah I use the enums in the crowdcontrol libraries and they're not always the most consistent things 🤷‍♀️ Eventually I'm pulling that stuff out, but we'll see, life has been crazy lately.
Avatar
Vicendithas 2021-09-07 21:24
yeah it's funny how something that small can stop it working. But I can now confirm, that I do have autotracking working (at least for the few items I've added so far). Yay!
Avatar
Vicendithas 2021-09-08 18:06
I'm working now on optimizing my autotracker, making it work more consistently. What the best way to directly read a value from an address? I can't rely on AddMemoryWatch because the value I need to check can change very quickly and I need to check this value before I can read for checking my items (it's because of WRAM bank switching, if case you were curious).
Avatar
EmoSaru 2021-09-08 18:38
My autotracker does this to check game mode, so there should be an example there.
Avatar
Vicendithas 2021-09-08 19:40
I found it. Thanks!
Avatar
Vicendithas 2021-09-08 19:50
I was able to fix a few things with some optimization. I got the check in for the WRAM Bank to prevent reading bad data, and that did help some. However there are still some problems where it seems like it verifies that the correct WRAM Bank is loaded, but then it still gets garbage data from other banks. I'm seems like a race condition where the WRAM Bank changes after I validate it, but before I actually check the item's RAM location. The WRAM Bank does change pretty often (and sometimes very quickly) during events or battles. Any ideas on how to mitigate this?
Avatar
Vicendithas 2021-09-08 19:57
One thing I was wondering about. Initially, I had my autotracking script create several different Memory Watches for different ranges, but they were relatively close together in RAM. I saw some advice that it might be better to group them together to reduce the number of Memory Watches created. How big of a segment is too big before it starts to experience other performance problems. Currently, all my item checks are within a 0x10C range.
Avatar
EmoSaru 2021-09-08 21:53
Realistically, you’re probably fine, and can address performance by tuning the update rate of the watch. As far as those race conditions go, nothing short of truly atomic reads can really help you there. I suspect it’s actually the opposite - you’re getting handed the result of the earlier read but you’re validating using something that’s since changed. Not sure what game you’re tracking in this case, but you may want to consider reading from a more stable source if it’s available - SRAM? (edited)
21:56
I’d have to add conditional read support to fully address this, which gets complicated as the logic for validating a read can be pretty variable, and it would have to run inside the emulator atomically within a frame to have any benefit, meaning it’d need to be encoded and sent across the wire somehow.
22:01
How far away from the data you need is the data you can use to validate the read?
Avatar
Vicendithas 2021-09-09 06:45
The address I'm using to validate the read is 0xFF70 (HRAM). It controls the WRAM banking and can be read to get the current WRAM bank. All the data I'm using to track items are in the neighborhood of 0xD84C (WRAM, bank 1). Initially I was validating the WRAM bank once at the top of the memory watch call to make sure it's bank 1 before doing any reads, but that was still sometimes reading in data from other banks. I changed it to check the WRAM bank before each item update, but I'm worried about creating too much overhead that I'll end up slowing the script down too much. It's Pokemon Crystal I'm working with, so it does have SRAM, but I would think it would only update when saving. Do you think I should turn up the speed of the AddMemoryWatch? I currently have it at whatever the default value is.
Avatar
EmoSaru 2021-09-09 10:43
If they're bank switching fast enough for this to matter, I don't think changing the refresh rate of the watch is going to help at all.
10:45
Frankly, looking at the problem, even if you check the bank before every item, you will STILL have this issue sometimes.
10:46
It's not completely solvable without running your entire sequence within a single tick within the emulator
10:46
And that's not possible with the socket-based protocol that currently exists
Avatar
Vicendithas 2021-09-09 15:00
So I've been digging into this more, and it seems like the problem is with the memory domain. In BizHawk there are a bunch of options for Memory Domain when you watch memory or view the hex editor. System Bus is one option that shows what would be in an actual Gameboy's memory (and is dependent on which banks are loaded). There is another memory domain, WRAM domain, that shows all the banked WRAM in one block, so they are are viewable at once. It seems like all the reads in my autotracker script are pulling from the System Bus. Is it possible to change it to read from a different domain from within BizHawk? If that is possible, it would completely solve my problem.
Avatar
Vicendithas 2021-09-09 16:35
I've continued digging and experimenting and found a few things. The lua function calls within BizHawk (such as memory.readbyte(address, [domain])) support specifying the domain. How do the memory reads from my autotracking script (segment:ReadUInt8(address)) get translated into the calls that BizHawk uses and is there a way to pass the desired memory domain through?
Avatar
EmoSaru 2021-09-09 19:10
Connectorlib tries to handle “platform standard addressing”, meaning how you’d look up the data writing code on the system. I do not currently expose specific domain support, as for e.g. snes it would require completely different implementations on hardware vs emulators
Avatar
EmoSaru 2021-09-09 19:28
I can look into adding it, but given my future plans in this area I’m not sure how worth the effort it will be.
Avatar
Vicendithas 2021-09-10 13:03
I had seen you mention in a few places that autotracking was getting changed at some point. Any chance that these planned changes would solve my Memory Domain problem? If so, it may just be worth it for me to wait for the update instead of continuing to bang my head against the wall. lol
Avatar
EmoSaru 2021-09-10 13:14
The larger changes that I have planned will actually deprecate large portions of the built-in autotracker in favor of allowing devs to build their own autotracking frameworks that operate over websocket connections. So - no, it doesn't solve your problem directly, but it would allow you to build something to solve your problem. (edited)
Avatar
Lurch9229 2021-09-10 13:22
So I'm getting C stack overflow with my logic.lua. I think it has something to do with my entrance logic but have no idea how to condense it for prevent the overflow. Can anyone who has made an ER tracker possibly give me a hand
Avatar
Vicendithas 2021-09-10 13:23
Ah okay. I'll definitely be interested in that. I had also been looking at creating something so I can pull memory out of emulators other than BizHawk, but I really don't have software design experience. I know some programming, but throwing some code together and actually designing a cohesive piece of software are very different things, and I just don't have that experience.
Avatar
Avatar
Lurch9229
So I'm getting C stack overflow with my logic.lua. I think it has something to do with my entrance logic but have no idea how to condense it for prevent the overflow. Can anyone who has made an ER tracker possibly give me a hand
EmoSaru 2021-09-10 13:33
If you are getting a c stack overflow, you are most likely doing something recursively that is not terminating.
13:33
It's unlikely to be an entrance-specific issue, and more likely to be a "your code is doing something wrong" issue.
Avatar
sk00pula 2021-09-12 22:10
So normally I figure this stuff out myself but time and attention-span are at a premium lately so I'll hazard this, uh, is there a quick and dirty method to get the bow(official alttpr emosaru pack etc etc), back to non-progressive for SGL stuff? I can see the graphics for separate items exist in the pack but the edits hurt my brain right now lol
Avatar
codemann8 2021-09-12 22:28
I do have support for this in my CodeTracker pack, it auto detects when a collected bow is progressive or not
Avatar
EmoSaru 2021-09-12 22:30
It’s on my list to update in my pack as well, given the SGL casual boots situation. I’m just hella busy.
Avatar
wiznillyp 2021-09-14 19:45
Any suggestions for debugging during development? Right now, I am making a new zip file for my package. Also, is there a way to view a console for lua debugging? Thanks!
Avatar
cluekitty 2021-09-14 19:49
emotracker has a Developer console under the settings gear -> advanced (edited)
Avatar
wiznillyp 2021-09-14 19:50
Great. Is there any documentation (or even a pinned comment) for developers that I may have missed?
Avatar
cluekitty 2021-09-14 19:51
I think most of it is in pinned comments or other messages. I'm relatively new to making stuff in emotracker myself. I don't think there's anything special about the lua implementation. I think it's version 5.3, but I don't remember
Avatar
wiznillyp 2021-09-14 19:54
Ok, I will keep looking, thanks. How about debugging packages, is there a way to do it live? I have been re-zipping changes and restarting the application each time, I imagine that there is an easier way.
Avatar
cluekitty 2021-09-14 19:56
I found that you can just have a folder of your pack and load based on that
Avatar
Avatar
wiznillyp
Ok, I will keep looking, thanks. How about debugging packages, is there a way to do it live? I have been re-zipping changes and restarting the application each time, I imagine that there is an easier way.
MikeTrethewey | Axiom Verge 2021-09-14 19:56
Imagine that the zip is a compiled pack and if it’s extracted into a folder that it’s the source code version. It can run in its expanded state but should only be distributed as an archive and should be finalized as an archive.
Avatar
cluekitty 2021-09-14 19:57
That being said, I have seen oddities when making changes to access rules when refreshing/reloading the pack, but that could be me doing something wrong due to not playing around with it as much. lua stuff doesn't seem to be affected
Avatar
codemann8 2021-09-14 20:03
Also as a tip: If you run "emotracker.exe -dev" you can run it in a sandbox and it will use a separate "dev" folder as the root directory of the installed packs instead (edited)
Avatar
EmoSaru 2021-09-14 20:04
The whole pack is also completely reloaded from scratch on a refresh (F5) and I can confirm that changes to access rules are picked up fine as far as anybody has ever reported to me.
Avatar
codemann8 2021-09-14 20:05
The only thing I've seen that F5 refresh doesn't update is the version number and of course the UID, but everything else refreshes
Avatar
wiznillyp 2021-09-14 20:11
Great information all, thanks.
Avatar
codemann8 2021-09-14 20:18
Also, if you have overrides, those would take precedence over any changes you are making, so you'll want to ensure nothing is there that would interfere (edited)
Avatar
cluekitty 2021-09-14 22:03
Then the access rules thing was probably just me breaking my own stuff.
22:03
It felt like I was imagining it. But I wasn't sure
Avatar
wiznillyp 2021-09-15 13:46
When using a consumable, is there a way to set the initial value to be non-zero and disabled? Consider Bow and arrow in Zelda games, when you obtain the Bow, you may get a quiver with it with 30 arrows. Setting an initial value of 30, or even a min value of 30 automatically enables the item at start up. In this case, you would want disabled, 30, 40, etc. So an offset, array of values or a separate disable state would work here. I am using an overlay image as a work around, but that requires individual text images.
Avatar
cluekitty 2021-09-15 13:51
You can use some lua to add the value when an item is selected
13:54
For example, in a pack I've been working on, I have something like this:
function _update_missile_count(item) if not memwatch then local missile_tank = Tracker:FindObjectForCode("missile_tank") if item.Active then missile_tank:Increment(2) -- 2 increments of 5 missiles else missile_tank:Decrement(2) -- 2 increments of 5 missiles end item_state_list["missile_data"] = item.Active end end
And with that, I have a table that stores the state of the items I want to keep track of, and use a loop whenever something on the tracker changes to check if I need to update something
13:58
Ive got a bit more than that set up so that's not the full picture, but hopefully it helps
Avatar
EmoSaru 2021-09-15 13:59
When you want to do something that the default item types don’t do, Lua custom items are the recommended way to do it. (edited)
14:00
You can find examples in e.g. codemann’s lttp pack
Avatar
cluekitty 2021-09-15 14:00
(My way was before I found out about the custom items so take it with a grain of salt)
Avatar
wiznillyp 2021-09-15 14:04
That is awesome, thanks to both. I just found the SDK in the pinned comments at the top (I could not find a link on the site itself), I was doing a bit of reverse engineering on an existing pack before. I can now see how this can be done. Great. I will check codeman's pack. Thanks.
Avatar
cluekitty 2021-09-15 14:05
I'll probably do that too since I haven't actually looked into the custom item stuff yet lol
Avatar
Lurch9229 2021-09-16 20:54
Could someone tell me why my items_only and minimal_items are trying to use legacy?
1.37 KB
20:55
Avatar
EmoSaru 2021-09-16 21:04
You need to make sure that you're loading layout files which define layouts for the core layout names. If none of the core layout names for the tracker UI or the broadcast layout have been defined, it will attempt to load legacy layouts (from the very early days of the tracker).
21:05
The reserved names that the tracker looks for are in the pinned messages here.
Avatar
Lurch9229 2021-09-16 21:13
I have those set, and it keeps going to legacy. I am not using a reserved name either
Avatar
EmoSaru 2021-09-16 21:18
What layout names are you setting in your layout files in those cases
21:19
At minimum, for a non-resizable layout, you need to be defining tracker_default and tracker_broadcast
Avatar
Lurch9229 2021-09-16 21:25
yeah i have both of those defined { "minimal_grid": { "type": "itemgrid", "h_alignment": "center", "item_margin": "5,5,5,5", "item_size": 60, "rows": [ ["silva", "verboten", "ulv", "sinner", "mask"], ["djump", "hammer", "aquatic", "dodge2", "rites"], ["hook", "claws", "dash", "lance", "unlock"], ["gem", "fragment", "relicslot", "wish", "fretia"] ] }, "tracker_default": { "type": "array", "width": 400, "margin": "1,1,1,1", "content": [ { "type": "layout", "key": "minimal_grid" } ] } } (edited)
Avatar
EmoSaru 2021-09-16 21:26
Can you show us the rest of your dev console log from when you're loading the pack (scroll up)
Avatar
Lurch9229 2021-09-16 21:27
Avatar
EmoSaru 2021-09-16 21:27
So you may notice that none of your layout files are loading
21:28
I believe that you have some lua code issues
21:28
like for example your then's being on separate lines from the ifs
21:28
double check your lua to make sure it's syntactically correct and that you're actually loading the files you think you are
Avatar
Lurch9229 2021-09-16 21:38
yeah i have no clue, I can't see a single error in my init.lua. The file names and paths match, I see no syntax errors (although the console is usually pretty good at catching those)... I'm lost here, my map tracker is working fine, its just the items only variants
Avatar
codemann8 2021-09-17 03:06
it's usually at this point where I do a binary search on my lua files and remove half the code until the error goes away to pinpoint where the issue resides
Avatar
Lurch9229 2021-09-17 06:45
could I do something like that to find a C stack overflow?
06:49
I have sorted the above issue, I didn't have tracker_broadcast defined in one issue and I put ActivevariEnt instead of ActivevariAnt in the other, just got the overflow to try and debug and this pack is pretty much finished
Avatar
Lurch9229 2021-09-18 13:31
Is there a limit to how many icons can be on a map layout?
Avatar
EmoSaru 2021-09-18 13:34
No hard limit, although there are practical limits for usability, especially on smaller monitors
Avatar
Lurch9229 2021-09-18 13:36
It seems to have stopped showing them after a certain amount placed on the map (edited)
Avatar
EmoSaru 2021-09-18 13:38
I am definitely unaware of any hard limit. How many are you adding?
13:38
Are these actual locations, or...
Avatar
Lurch9229 2021-09-18 13:39
err, give me a minute to count them all
13:43
currently have 112 placed and no more are showing up, I still have around 20 more to place there's no more showing in 0,0 coordinates (where they should show until I place them correctly)
Avatar
EmoSaru 2021-09-18 13:44
If they're all being placed at 0,0, how can you tell if they're showing up or not?
13:44
Also, that is not that many. It is far more likely that you have an error in your JSON, that is causing some locations not to load
13:45
Have you double checked the dev console for errors and verified that your JSON is valid?
Avatar
Lurch9229 2021-09-18 13:45
they usually show in the top left corner, but the last one I put the coordinates in for didn't move into place either
Avatar
EmoSaru 2021-09-18 13:45
I also see that you have a TON of location json files.
Avatar
Lurch9229 2021-09-18 13:46
yeah console shows no errors and VCS is showing no errors, visually checking myself everything seems to match all other locations before
Avatar
EmoSaru 2021-09-18 13:46
I would also make sure you're actually loading all the ones you think you are
Avatar
Lurch9229 2021-09-18 13:46
I'm working on the world map, so only 1 file is being loaded right now
Avatar
EmoSaru 2021-09-18 13:47
If at this point you genuinely believe that there's a bug, send me an updated zip file of your pack please.
Avatar
Lurch9229 2021-09-18 13:48
I'm gonna do a test of moving the remaining to a new json and adding that to be loaded as well first
Avatar
EmoSaru 2021-09-18 13:49
Okay.
13:55
Please also double check that all of the access and visibility rules, etc. are valid. Make sure the location doesn't display if you remove those.
Avatar
Lurch9229 2021-09-18 13:58
I'm using show all locations so would expect them to still be showing red. Also moving them to a separate json didn't work either. gonna zip it and let you try and work out whats happening when you get some time
Avatar
codemann8 2021-09-18 14:02
show all locations doesn't bypass the visibility rules, otherwise my tracker would be yikes
yikes 2
Avatar
Lurch9229 2021-09-18 14:06
I hate myself for mistaking a period for a comma.....
14:10
I'm also not using visability rules as no items have physical models, but yeah, my own stupidity got me again here
Avatar
EmoSaru 2021-09-18 14:14
👍
Avatar
Hamsda 2021-09-18 14:51
visibility rules have nothing to do with inspecting items
Avatar
Lurch9229 2021-09-19 18:27
I'm having trouble getting the access rules to recognise this function. anyone got any ideas function domainMath() hp = 100 and amuletValue() and gemValue() hp = beadsMath(hp) hp = aegisMath(hp) print(has ("wish",3)) if (hp >= 150 and has ("wish",3) and has ("spellbound") and has ("relicslot",4) and has ("dodge2")) or (hp >= 150 and has ("holywater") and has ("spellbound") and has ("relicslot",5) and has ("dodge2")) then return 1 else return 0 end end (edited)
Avatar
Hamsda 2021-09-19 19:19
dont see any syntax errors, but its a bit hard to tell without a code block not sure what you expect this line to do though? hp = 100 and amuletValue() and gemValue()
Avatar
Lurch9229 2021-09-19 19:22
gemValue takes the tracker count of 1 then times by 20, amuletValue does the same, but times by 5. So what I'm hoping it's doing it taking 100hp you start with and adding 20 per gem and 5 per amulet (edited)
Avatar
PolychromeVirus 2021-09-19 19:24
wouldnt that be + amuletValue() + gemValue() or is lua weird
Avatar
Hamsda 2021-09-19 19:27
yeah and is not addition
19:28
you are effectively getting the result of gemValue() every time, since 100 and amuletValue() are neither false nor nil (edited)
Avatar
Lurch9229 2021-09-19 19:31
ok well I changed the and to a + and it is still not working
Avatar
Hamsda 2021-09-19 19:33
i mean we have no context about any of the functions you are using in this function or how you call it, so I just was pointing out something that was probably not working as you expect it
19:33
like did you add a print and the start and see if it gets called at all?
Avatar
Lurch9229 2021-09-19 19:44
This is everything required for the function, and trying to print the function causes emotracker to crash, no idea why though
1.03 KB
Avatar
j_im 2021-09-19 19:46
beadsMath and aegisMath, youre anding instead of +ing
19:48
slotNum and wishNum i don't think work like you think they do, youre passing a variable in, but youre not using it in the function
19:49
something more like
function wishNum(amount) wish = Tracker:ProviderCountForCode("wish") return (wish >= amount) end
Avatar
cluekitty 2021-09-19 19:49
I don't see has defined anywhere either
19:49
unless it's in another file
Avatar
Lurch9229 2021-09-19 19:54
I had it half working when I changed the other ands but when I did what you mentioned it stopped working altogether again. it would turn true when it had spellbound and dodge2 and enough hp but not regarding any wish or relicslot (edited)
Avatar
Shepard 2021-09-30 12:21
Hey everyone, is there a good pinned post/reference to starting with customizing a package? I’m doing an “all monster” challenge across multiple games, and emotrack sure looks a lot better than an excel spreadsheet
12:22
I don’t need to do anything fancy, literally just click a png to light it up
Avatar
cluekitty 2021-09-30 12:32
Try out EmuSaru's official alttpr pack for some references for a starting point. If you don't need the maps you should only need to focus on the tracker layout and images
12:32
if you install it, it will be in Documents\Emotracker\packs as a .zip file and you can extract it to see how things are set up.
Avatar
Pink Switch 2021-10-01 08:37
how do i get the little autotracker robot/prompt to show up
Avatar
EmoSaru 2021-10-01 10:05
You need to have set the platform in your pack’s manifest and you need to have added memory watches. Autotracking is also only supported on a limited set of platforms though.
Avatar
CodeGorilla 2021-10-01 15:14
Is there existing functionality for changing a pack's layout based on certain items the user has, or is that something I would need to implement myself? Is it even possible with the given API? Is there a Tracker:RemoveLayouts or something similar?
Avatar
EmoSaru 2021-10-01 16:39
Dynamic layout of that sort is not currently possible.
Avatar
ClassicRagu 2021-10-02 15:04
For the pack I'm currently developing, there are items that you need a certain amount but if you go above that amount it will also make the game easier so it's beneficial to keep tracking past that amount. Is there a way to set something like a required quantity instead of a max quantity so the number is green once you pass a certain threshold but it lets you keep adding more?
Avatar
codemann8 2021-10-02 15:12
for this youd need to build a custom lua item to model how you want it to act. You can see in my pack how I have ConsumableItemExt.lua extend from ConsumableItem.lua (the base Emo consumable type). You prob wont want the features I set up for Ext, but you could set up the attributes and badge colors you want in a similar way.
Avatar
ClassicRagu 2021-10-02 15:14
Oh that would be great! Can you please link the repo for it
Avatar
codemann8 2021-10-02 15:14
CodeTracker for LTTP
Avatar
ClassicRagu 2021-10-02 15:14
👍 thank you
Avatar
CodeGorilla 2021-10-02 15:55
Can you use lua to reset the state of an item?
Avatar
codemann8 2021-10-02 15:59
if you mean progressive stage, or like consumableitem current count and things like that, then yes
Avatar
CodeGorilla 2021-10-02 16:04
Yep, that's what I meant. How?
Avatar
codemann8 2021-10-02 16:06
which one?
Avatar
CodeGorilla 2021-10-02 16:06
Progressive stage.
Avatar
codemann8 2021-10-02 16:07
.CurrentStage = 0
Avatar
CodeGorilla 2021-10-02 16:13
How do I get the reference to the item? I'm trying to call this from a function in a different item. Essentially, there are gates in the game I'm making a tracker for that have keys, and the only way to know if a key goes to a gate is to go to the gate and test the keys. I want to make a progressive item that represents whether or not you've tested all the keys in your inventory - so a state for "haven't tested", a state for "tested, can't open", and a state for "open". Then, when I pick up a new key, I want to reset "tested, can't open" to "haven't tested".
Avatar
codemann8 2021-10-02 16:14
same way as normal: Tracker:getItemFromCode(itemname) or whatever that function is (edited)
16:16
Tracker:FindObjectForCode(itemname)
Avatar
CodeGorilla 2021-10-02 16:16
That's what I was looking for. The functions for Tracker don't seem to be documented anywhere. 😅
Avatar
codemann8 2021-10-02 16:16
they are used in the SDK example
Avatar
CodeGorilla 2021-10-02 16:17
I must have missed it, then. My bad!
16:19
I assume to call Lua code when an item is toggled, I need to make it a custom item, right?
16:19
(In this case, my keys.)
Avatar
codemann8 2021-10-02 16:19
no, it can affect standard items
16:20
if you are affecting a custom Lua item, you have to use item.ItemState to access your custom attributes your custom lua might have
Avatar
CodeGorilla 2021-10-02 16:22
I'm affecting a standard item, I was just expecting the item doing the affecting would have to be custom Lua. I suppose I can just have some global data that tracks the keys separately, and not need to use custom Lua at all...
Avatar
codemann8 2021-10-02 16:22
but as far as how you are wanting this to get triggered, you may have to make whatever a custom lua to be able to execute the change
Avatar
CodeGorilla 2021-10-02 16:23
Yeah, that's what I was thinking. You've given me a lot to work with, thank you!
👍 1
Avatar
XenoWars 2021-10-04 10:14
is there a way to automate removing items? would make life a lot easier for those that would use my prime 2 tracker
10:15
since at various points, you lose access to rooms, so those would need unmarked as having them marked still would make the tracker think things are in logic when they actually aren't
Avatar
codemann8 2021-10-04 11:01
you could set up visibility rules to hide them upon whatever conditions you choose (edited)
Avatar
codemann8 2021-10-13 16:53
no escaping needed
16:54
oh, yeah that would never work with the parser, you'll have to rename the location to not have slashes
16:56
I have slashes in some of my location names, but they are done with back slashes
Avatar
Pink Switch 2021-10-17 21:13
When you have multiple chests on one location, such as an lttp dungeon, how do you make chests check off 1 by 1 instead of all at once?
Avatar
EmoSaru 2021-10-17 22:56
Have you checked the JSON schemas for the answer?
Avatar
CodeGorilla 2021-11-01 22:30
Is there a way to programmatically determine whether a certain location/child of a location is in logic at a given moment? I know how to use Tracker:FindObjectForCode to find a location, and how to reference its children, but not how to tell if that location/child is in-logic using the current access rules.
Avatar
codemann8 2021-11-01 22:34
You can use access_rules: "@Location/Section,item,anotheritem"
Avatar
CodeGorilla 2021-11-01 22:37
I don't follow. I already have the location object, I'm trying to figure out how to access the rules of that object.
Avatar
codemann8 2021-11-01 22:38
What are you trying to do with it? The only thing I can think of is to determine logical access for something else, which you can do with just referring to the Location Section directly in the access rules
Avatar
CodeGorilla 2021-11-01 22:39
Oh, so I don't have to do it in lua at all, is what you're getting at.
Avatar
codemann8 2021-11-01 22:39
Yes
Avatar
CodeGorilla 2021-11-01 22:42
What I'm trying to do is have an overworld view and a dungeon view, where the overworld view groups all the items in the dungeon. e.g. using Link to the Past, imagine I've been through Eastern Palace and cleared the front chests, but I don't have the bow so I can't reach the boss. I want the item location on the overworld map to be red, because I can't get anything more.
Avatar
codemann8 2021-11-01 22:44
I use these all the time, for example Trinexx access in LttP, requires items and keys to get access to, but depending on the mode you have selected, it requires different number of keys (key drop shuffle, vs not) or different items (entrance shuffle or not), so instead of having every permutation of the combination of settings you can have, which results in like 32 access rules, I have some "hidden" location sections that break it down into parts, but I reference the access rules from the previous leg, and it simplifies it greatly (edited)
Avatar
Avatar
CodeGorilla
What I'm trying to do is have an overworld view and a dungeon view, where the overworld view groups all the items in the dungeon. e.g. using Link to the Past, imagine I've been through Eastern Palace and cleared the front chests, but I don't have the bow so I can't reach the boss. I want the item location on the overworld map to be red, because I can't get anything more.
codemann8 2021-11-01 22:47
My tracker already does that if you want to take a look
Avatar
CodeGorilla 2021-11-01 22:47
Yeah, I probably should take a look at that.
22:52
It doesn't do quite what I want. I went through and collected all the chests:
22:53
But the EP overworld location is still orange, not red:
Avatar
codemann8 2021-11-01 22:53
did you mark the ones inside the OW map?
22:53
autotracker would automaticallly handle it
22:54
they arent linked
Avatar
CodeGorilla 2021-11-01 22:54
No, I was looking for a way to handle it without having to mark the ones on the OW map.
Avatar
codemann8 2021-11-01 22:54
ah, yeah there is no real way
22:55
but like i said, the autotracker marks them both
Avatar
CodeGorilla 2021-11-01 22:55
Yeah, haven't touched autotracker functionality for the thing I'm working on, but that might be an idea for the future.
Avatar
codemann8 2021-11-01 23:00
the problem with linking in emotracker, is you can link in one direction only, because you can never know what specific action was taken by the user, if I mark the dungeon map, when lua is triggered to indicate "something" on the tracker changed, it just knows hey one side is marked, the other one isn't. We can either mark them both or unmark them both, but it doesn't know which one was changed, so the only thing you CAN do is have either the Dungeon or the OW side be the priority to treat as gospel. And the problem with that is your users will use the tracker differently. (edited)
Avatar
CodeGorilla 2021-11-01 23:05
Yeah, I follow. Think I might still be able to work around it, though I'll have to see if it drags down performance, and it'll be a pain to write. That's a project for another day, though.
Avatar
codemann8 2021-11-01 23:09
Yeah, you could maybe hold a cache of all the locations in lua, so you can do a check against it to see whats changed and flip them accordingly, but yeah you'll def take a massive hit on performance. All you need to do is open my tracker and know what performance hits look like 😛
23:10
It becomes a matter of, what features are worth the hit
Avatar
CodeGorilla 2021-11-01 23:10
lol, I noticed that. 😛 Thanks for the help, though; you at least saved me some time hunting for something that doesn't exist.
Avatar
codemann8 2021-11-01 23:31
Ideally, it'd be cool if location sections could have a separate map_locations attribute that it could place separate blips on maps. A thing for #suggestions I suppose (edited)
Avatar
Vicendithas 2021-11-03 20:33
question for you guys: can I have a chest on the map set a code as well as be a generic item? There are some things in my pack that I'm currently using "hosted item" with so that it sets an appropriate code to unlock other location. It would simplify things a lot if I could also set a code on chests.
Avatar
EmoSaru 2021-11-03 20:34
No, chests cannot currently provide codes.
Avatar
Vicendithas 2021-11-03 20:38
Ok. Thanks!
Avatar
EmoSaru 2021-11-04 00:01
I should actually add that it IS possible to update the state of an item via Lua in that situation, or to use a Lua expression that provides a cost based on the current state of a section, etc. But chests cannot directly provide codes.
Avatar
Vicendithas 2021-11-04 17:39
Yeah that's a more complicated solution than I was looking for, but thanks. I ended up just changing the icon I was using for the hosted item. I end up using a lot of hosted items for various game events and flags that unlock other locations. Probably not the most elegant solution, but it works.
17:40
I actually had another idea that I didn't know if it were possible. Is there any way to embed an html page (or pages) into a view (like a map)? (edited)
Avatar
EmoSaru 2021-11-04 18:00
No, there’s no HTML element.
18:01
Even if there was, access to page elements or JavaScript would be a massive jump in complexity
Avatar
Vicendithas 2021-11-04 18:52
Ok no problem. It was just an idea that I had but wanted to check if it were even possible before I went further. Thanks!
Avatar
hooktail154 2021-11-06 09:58
Hey, just so I'm doubly sure, for color properties, when the jsonschema says "Alpha is supported in the first byte" does that mean #rrggbbaa like CSS or #aarrggbb?
Avatar
hooktail154 2021-11-06 10:06
And does the color property on a location also support alpha?
Avatar
EmoSaru 2021-11-06 16:52
I will have to double check the color format when I’m back at my desk, but the color field of locations only affects the color strip on the expanded location “card”, which from your question is likely not what you were looking to do with it.
Avatar
hooktail154 2021-11-06 20:44
I’m toying around with making some tools for authoring packages and am mostly curious if I can treat all color fields the same (i.e. supports alpha) and what order the components are in
Avatar
EmoSaru 2021-11-06 20:59
I’ve been away all day, so I’ll just say the best way to find out how things work is often to try them and see.
20:59
I do believe that all color fields are parsed the same way.
Avatar
hooktail154 2021-11-06 21:55
Ah, it is #aarrggbb. That's a bit of a bummer, I'll have to rearrange the components to get it to align with the API I want to feed it into. Could I convince you to update the jsonschema to include notes that #rgb, #argb, #rrggbb, and #aarrggbb are all valid formats?
Avatar
TarThoron 2021-11-06 23:53
In my head when I read #aarrggbb
😅 2
Avatar
Avatar
hooktail154
Ah, it is #aarrggbb. That's a bit of a bummer, I'll have to rearrange the components to get it to align with the API I want to feed it into. Could I convince you to update the jsonschema to include notes that #rgb, #argb, #rrggbb, and #aarrggbb are all valid formats?
EmoSaru 2021-11-07 01:35
I could update it, but I’m not sure why any ordinary user would be terribly concerned about any but the last 2 of those formats, and I believe the existing documentation already sufficiently describes how alpha works. (edited)
Avatar
CodeGorilla 2021-11-07 18:32
How does one actually publish a pack? I've got the pack I've been working on for a while in a spot where I'd feel comfortable publishing a v1.0. I assume there's some kind of review process?
Avatar
blasteg 2021-11-07 18:32
contact Emosaru
Avatar
CodeGorilla 2021-11-07 18:33
Okay, will do.
Avatar
Sma 2021-11-12 12:30
Is there a way currently to click and drag a custom item and execute code based on where you drag to?
Avatar
EmoSaru 2021-11-12 16:22
No, there is no drag and drop
Avatar
kolrad388 2021-11-12 18:22
Very much of a newb here, I'm afraid! What do I need to know if I want to change the image files (the PNGs) for the items displayed on EmoTracker for the SM-ALTTP pack? I made some stylized images that I'd like to try out, but if I just replace the files in packs\smalttprando_gilgatex\images, won't the updater just overwrite them with the original images?
Avatar
j_im 2021-11-12 18:24
settings cog at top right > advanced > export overrides
18:25
then you can replace those images in the override folder created, make sure they have the same names
Avatar
kolrad388 2021-11-12 18:25
Thank you!
Avatar
hooktail154 2021-11-13 00:31
Hmm. Looks like a definition for the base_item property is missing from the schema for toggle_badged items
Avatar
EmoSaru 2021-11-13 00:33
Noted.
🙏 1
Avatar
hooktail154 2021-11-13 22:43
Are there Lua API references anywhere? Couldn't find anything in the pins. I see use of ScriptHost, Tracker, and AutoTracker in a few packs and have pulled out what I think are the important bits of the APIs, but not sure if I've missed something.
Avatar
EmoSaru 2021-11-13 22:57
This has been asked many times, and no. The standard reference for stable APIs that are safe for use is my pack. It is also reasonable to assume that Lua usages in other packs in the package manager are generally things I’ve at least mostly agreed to keep stable, with a small number of minor exceptions, (edited)
Avatar
hooktail154 2021-11-13 23:05
That's fair. I've been using your pack as a reference for the average case and codemann8's as the extreme case, so I think my notes are probably Complete Enough ™️
Avatar
hooktail154 2021-11-14 11:52
One more Lua question to sate my curiosity: when autotracking is disabled, what do the ReadU8/ReadU16 functions return? Just 0?
Avatar
EmoSaru 2021-11-14 12:03
They will either return 0 or throw an exception. It's not a case I've particularly cared to test, tbh, as those functions are specifically intended to be used during memory segment update callbacks, which only fire when autotracking is enabled and active. Are you actually building a pack, or just trying to build your tools? Autotracking is something that will always require special attention depending on the platform and the game being tracked, and is actually the subject of a WIP major overhaul. So, unless you're actually building a pack with autotracking that you're intending to release, that type of errata is not something I'm going to particularly care about looking into or doing anything about. (edited)
Avatar
hooktail154 2021-11-14 12:39
In this case I was just curious! For editor things I’m trying to mock out the API surface so can do autocomplete and basic code validation (without actually running everything ofc) and was wondering if this behavior was defined.
Avatar
Vicendithas 2021-11-18 10:52
Is it possible to set up a chest to have progressive behavior (i.e. can be clicked multiple times and change icon for each stage)?
Avatar
EmoSaru 2021-11-18 10:56
No. Is there a reason you would want to use chests for that instead of a progressive item?
Avatar
Vicendithas 2021-11-18 11:04
I think it's because I didn't understand how progressive items worked very well, since I haven't used them much. I just looked in your ALttP pack to see how you do some of those, and I think I have a better understanding of what I could do. Something else I've never really understood is having multiple codes assigned to the same item or having multiple items with the same code.
Avatar
codemann8 2021-11-18 11:20
It allows for grouping mechanisms. For example, I use it heavily for the various modes that you can set. Like, Entrance Rando mode option has several options that it flips thru, but some of the modes share some logical attributes that I can use in the logic access rules
Avatar
kolrad388 2021-11-18 19:20
Hello! I've made a lot of progress on my project of changing the image files for the SM-ALTTP pack using the override folder, as @j_im showed me how to do about a week ago. Now I have some questions about making changes to the common.json file. Specifically, I'm trying to change the way the categories with "counters" work-- heart containers, E-tanks, missiles, etc. Instead of just using one PNG file with a number superimposed over it, I want each number to have its own PNG file. I've been achieving this by changing the common.json file to use "type: progressive" instead of "type: consumable." This is achieving the effect I want visually, but I expect I will need to change something else in order for the logic of the maps to keep working the way it should. Where should I look for that?
Avatar
j_im 2021-11-18 19:26
its in files within the locations folder, typically
Avatar
kolrad388 2021-11-18 19:33
Thank you! I might have another question later, but I see plenty to get started on in the logic.json file.
Avatar
kolrad388 2021-11-19 18:52
Okay, here's what I'm currently stuck on. In the logic.json file, the flag "CanHellRun" includes the rule "alltanks:5", which checks that your total number of E-tanks plus Reserve Tanks is at least 5. In the common.json file, the code for clicking the "Etanks" and "Reserve Tanks" icons uses "type: consumable," and each time you click, it increments the "alltanks" variable by 1. { "name": "Etanks", "type": "consumable", "img": "images/etank.png", "max_quantity": 14, "codes": "etank,alltanks" }, I'm trying to change the icon to use "type: progressive" instead, so that I can give every stage its own image. { "name": "Energy Tanks", "type": "progressive", "allow_disabled": false, "stages": [ { "img": "images/etank01.png", "img_mods": "@disabled", "codes": "etank,alltanks" }, { "img": "images/etank01.png", "codes": "etank,alltanks" }, { "img": "images/etank02.png", "codes": "etank,alltanks" }, ... ... ... { "img": "images/etank14.png", "codes": "etank,alltanks" } ] }, But the code above does not increment the "alltanks" variable, based on the fact that the Norfair items do not change to achievable when I click the icon 5 times. Any suggestions? (Sorry about this message being so long.)
Avatar
j_im 2021-11-19 19:13
my suggestion would be changing the codes to something like etank0, etank1, etc. (and similarly for reserve tanks), then using a lua function to turn those codes into numbers that get added up, and replacing the alltanks:5 with $alltanks|5
19:14
theres probably a more streamlined way though, but thats what immediately pops into my mind
Avatar
EmoSaru 2021-11-19 19:16
A custom Lua item implementation could also be done, to build a consumable that uses custom images, rather than the normal behavior with the counter
Avatar
kolrad388 2021-11-19 20:46
I've done Javascript coding before, but I've never worked with Lua, so this may be something I need to come back to once I've learned more. At least it looks like the E-tanks and R-tanks are the only items between the two games where the exact number you have is important in the logic (not including the small keys in LTTP). So I should be able to change everything but those two.
Avatar
delvan 2021-11-19 22:36
If you can do reasonable Javascript already you can pick up Lua pretty fast, there's a reason its used as an extension scripting language for so many games
Avatar
hooktail154 2021-11-20 11:42
Quick overrides/variants q: does creating a file in the overrides prevent loading of the original file in the package altogether (eg. in the emotracker pack layouts/tracker.json, if overridden to replace tracker_default must also redefine settings_popup) ? Or are they layered on each other (eg. all layouts are loaded from the package then the override of only tracker_default replaces the package-defined one)? My testing seems to indicate the former, but I want to make sure I'm not holding it wrong.
11:46
And I guess the corollary: do the variant dirs behave the same as overrides here? What about the combination of variants and overrides? eg. alttpr_emotracker_emosaru defines default layouts and the keysanity dir contains layouts/items.json and no layouts/tracker.json: * does <override>/layouts/items.json override the variant-specific items.json? * does <override>/keysanity/layouts/tracker.json override the top-level tracker.json? (edited)
Avatar
EmoSaru 2021-11-20 11:49
Overrides replace the original file when loading, and need to be complete. Variants work the same, are still loaded by the variant path (relative to the override directory) and must be overridden independently from the default. The loading priority order is:
1. Variant Override 2. Variant 3. Override 4. Default
(edited)
Avatar
Hamsda 2021-11-20 11:50
^ might be worth a pin tbh
Avatar
Original message was deleted or could not be loaded.
EmoSaru 2021-11-20 11:51
Pinned a message.
Avatar
hooktail154 2021-11-20 11:55
Awesome, thanks!
Avatar
hooktail154 2021-11-20 12:03
Looks like this applies identically to scripts and images too. Is settings.json included in that too?
Avatar
Hamsda 2021-11-20 12:09
basically every file except the init.lua yeah
12:09
maybe even that? never tried
Avatar
hooktail154 2021-11-20 12:11
Huh. It does work for init.lua. Not sure why that'd be preferable over conditionals in the default one though.
Avatar
EmoSaru 2021-11-20 12:12
it wouldn't
12:12
point is though, that the file system is very simple
Avatar
hooktail154 2021-11-20 12:14
Yup, makes reasoning about it real easy 🙂
Avatar
kolrad388 2021-11-20 17:49
I'm not sure where to start. If I want to write a Lua function to follow @EmoSaru or @j_im 's suggestions, where would I save it? Where is the code that actually calls the function? Is this something I can achieve with the files in the "override" folder, or would it require getting into the guts of EmoTracker's files?
Avatar
cluekitty 2021-11-20 20:10
init.lua is loaded first I think and you can use the ScriptHost:LoadScript("path/to/file.lua") to load other files within the pack using relative paths. For example, having ScriptHost:LoadScript("scripts/functions.lua") in the init.lua file within the scripts folder (TrackerPack/scripts/init.lua) will also load TrackerPack/scripts/functions.lua
Avatar
codemann8 2021-11-20 22:24
And also keep in mind, if you define let's say a layout definition first and the exact same named layout is defined later, the first one you load in will be the one that is used.
Avatar
hooktail154 2021-11-26 12:05
Looks like the published schemas are missing the item_count property in locations.json#/definitions/section
Avatar
hooktail154 2021-11-27 11:53
Same with allow_disabled for progressive items. Looks like it defaults to true but in the wild (i.e. the emotracker pack) I see it overridden with either false or "false"
Avatar
EmoSaru 2021-11-27 12:16
k
Avatar
hooktail154 2021-11-27 12:20
For the disabled/zero state on progressive items with allow_disabled the default (or true): the image used is just the first actual stage's image with disabled_image_spec (or the global disabled_image_filter) applied, right?
Avatar
EmoSaru 2021-11-27 12:23
Correct. These feel like things that can be determined fairly quickly through testing?
👍 1
Avatar
hooktail154 2021-11-28 11:40
I've searched the pins and the channel but can't find anything. Is there any sort of documentation of accessibility/visibility rules?
11:41
One edge case I'm interested in is if location or section names contain a / and how the @-references work in those cases
11:43
I've done an extensive amount of documenting of emotracker's subtleties for my own purposes. If there's interest I'd be more than happy to help with any documentation efforts.
11:47
Here's what I've got so far for EBNF of the rules:
rule = {whitespace}, and, {whitespace} and = [rule] { {whitespace}, ",", {whitespace}, subrule } subrule = sequenceBreakable | observable | uncounted | counted uncounted = sectionReference | locationReference counted = (lua | code), [":", digit, {digit}] sequenceBreakable = "[", {whitespace}, (counted | uncounted), {whitespace}, "]" sectionReference = "@", code, "/", code locationReference = "@", code lua = "$", code observable = "{", and, "}" code = {<letters, numbers, some basic symbols, not 100% sure on legal charaters>} whitespace = " " | "\t" | "\n" | "\r"
(edited)
Avatar
EmoSaru 2021-11-28 11:51
The @ references do not handle / characters in location/section names.
👍 1
11:52
To be completely honest, for the purposes of actual people developing actual packs who are reasonably prepared technically to do so, I believe the schemas, the existing packs, and the Discord provide a perfectly good reference/support system. (edited)
11:52
I'm not really interested in supporting external development tools or anything else other than folks actually building packs.
Avatar
hooktail154 2021-11-28 12:47
The focus makes sense. I'm very much used to an environment where the formal specification comes first, so that's where I try to look first instead of examples. The schemas don't cover the subtleties of the rules (eg. they don't provide a pattern for those properties) and existing packs are very very helpful, but I suspect they don't cover all the potential possibilities. Some open questions: * can [] contain comma-separated rules or just counted? * are counted rules <x>:<n> supported beyond plain codes and lua functions? * what are the semantics of | as I can only find a couple confusing self-referential examples in codemann's pack?) * is "nothing" a special code that's always active? I see it used it codemann's pack but can't find it defined anywhere (edited)
Avatar
EmoSaru 2021-11-28 16:41
If there were significant possibilities beyond what the existing packs leverage that I was committed to supporting, I wouldn't say that I believe the existing packs and the Discord constitute an adequate reference. In response to your question... 1) This is something you can test yourself. Please test things yourself, because - again - my focus is on supporting folks who are actually building packs. 2) This is something you can test yourself. Please test things yourself, because - again - my focus is on supporting folks who are actually building packs. 3) | is used as an argument list delimiter in Lua access rule expressions, and similarly for image filter arguments where applicable. I believe this would also be clear from further inspection and actually trying to build something. 4) No, and I'm not sure what the intent is on their side, so the better thing to do would be to ask them. Again, my interest is in supporting people who are actually building packs. If you are not building a pack, or are not an end-user interested in customizing an existing pack to work better for you, I'm not going to continue to answer questions that can easily (or at least reasonably) be answered through experimentation. (edited)
Avatar
hooktail154 2021-11-28 20:53
Alright, I did some surveying of additional packages and some extensive testing. Here's what I believe to be the full extent of the accessibility rule syntax:
rule = baseRule | inspectable inspectable = "{", baseRule, "}" baseRule = [clause], { ",", clause } clause = [whitespace], (sequenceBreakable | glitchable | counted), [whitespace] sequenceBreakable = "[", counted, "]" glitchable = "[", "[", counted, "]", "]" counted = code, [ ":", integer ] code = item | lua | location item = identifier lua = "$", identifier, { "|", identifier } location = "@", identifier, ["/", identifier] identifier = <any character> integer = <you know what this is> whitespace = " " | "\t" | "\n"
(edited)
Avatar
EmoSaru 2021-11-28 21:42
Okay, I’m really not particularly interested in defining a formal grammar here. It’s an ad hoc parser implementation, and this really isn’t relevant to what more or less anybody here is doing. (edited)
Avatar
codemann8 2021-11-28 22:37
My use of "nothing" is just a simple use of a guaranteed non existent item. I typically use it in places where I want to guarantee mark something as a sequence break in all scenarios. I use this in particular for other reasons too, for instance, to mark take-any caves in Retro as yellow, so they are visually different to better distinguish them from regular item locations. (edited)
Avatar
hooktail154 2021-11-28 22:59
Ah, that makes sense, thanks!
Avatar
Migs/Jcmtg/Worng 2021-12-05 00:23
5px margin workaround?
Avatar
TarThoron 2021-12-05 00:25
have you tried using min_width and min_height?
Avatar
Migs/Jcmtg/Worng 2021-12-05 12:54
just tried { "type": "itemgrid", "h_alignment": "left", "v_alignment": "top", "margin": "0,0,0,0", "min_width":"104", "min_height":"8", "max_width":"104", "max_height":"8", "item_width": "104", "item_height": "8", "background": "#000040", "rows": [ [ "AtmaWpn" ] ] }
12:59
The itemgrid element measures to 104 by 8 pixels but now there is still a 5px margin or padding
Avatar
hooktail154 2021-12-05 13:40
Not sure I 100% get what your goal and issue are, but I think you can set negative margins
Avatar
Migs/Jcmtg/Worng 2021-12-05 13:48
Goal is control over margins / padding between nearby elements
Avatar
TarThoron 2021-12-05 13:49
Try setting margins to 5 instead of 0
Avatar
Migs/Jcmtg/Worng 2021-12-05 13:53
i think i'm using the item grid wrong. I want to start off by listing all 255 items in FF6 (have PNGs of each item name) should i be using an ITEM within an ITEM GRID? or ITEM instead of an ITEM GRID
13:54
Margin 5 adds space around the ITEM GRID
13:54
13:58
Yes, i should be. 👍
Avatar
hooktail154 2021-12-05 14:47
You’re looking to control the margins within the item grid?
14:47
If so, there’s item_margin
Avatar
Migs/Jcmtg/Worng 2021-12-05 14:49
no, i was looking to control the margins between the items in the grid
14:49
in all directions
14:50
An array of items works better, it lets me have 0px margins/padding
14:50
Now, i'm trying to control the margin padding in the header text of a group
Avatar
hooktail154 2021-12-05 14:51
Then yeah I think item_margin is what you want. Like margin, you can provide a value for each edge and negative values are valid.
14:52
But if an array of item layouts works, I think that’s also a valid approach
Avatar
XenoWars 2021-12-05 15:10
so if i wanted to mark requirements as a sequence break, would i put brackets around it so that it shows up yellow? and what if it's a sequence break while having nothing at all?
Avatar
Avatar
XenoWars
so if i wanted to mark requirements as a sequence break, would i put brackets around it so that it shows up yellow? and what if it's a sequence break while having nothing at all?
cluekitty 2021-12-05 15:21
You can have empty items I think. I know you can show item visibility (blue) with "{}" as an access rule, "[]" may do the same thing but with sequence break, though I've never tested this.
Avatar
Hamsda 2021-12-05 23:58
it does
Avatar
Migs/Jcmtg/Worng 2021-12-09 00:15
I get the same error when trying to do a ScriptHost:AddMemoryWatch on this address
00:15
Can i not read the c0 memory in EmoTracker?
Avatar
EmoSaru 2021-12-09 00:30
memory.registerexecute looks like some lua meant to run in a specific emulator, and is not a function that's supported in emotracker.
👍 1
Avatar
Migs/Jcmtg/Worng 2021-12-10 21:29
Is there a hex equivalent to segment:ReadUInt8?
Avatar
cluekitty 2021-12-10 22:48
Which do you mean? The address you provide or the value it returns?
Avatar
EmoSaru 2021-12-10 23:53
This question makes no sense. Both are just integers. Whether you specify or interpret them in hex or not is up to you and the Lua syntax. (edited)
Avatar
Migs/Jcmtg/Worng 2021-12-11 15:11
I want to work with Hex and Not UInt8s in memory watches. Is there a call within segment: that allows this?
15:12
segment:Read(), segment:ReadHex(), segment:tostring()
Avatar
codemann8 2021-12-11 15:13
..... yes segment:ReadUInt8(0x7ef000) (edited)
15:16
if you want to output something to the console, i suggest looking up lua string formatting
Avatar
Migs/Jcmtg/Worng 2021-12-11 15:17
segment:ReadUInt8 returns an INT
Avatar
codemann8 2021-12-11 15:17
correct
Avatar
delvan 2021-12-11 15:18
Question confuses me, if you just mean you want that byte represented as a hex string I believe its just s = string.format("%x",x) in lua isn't it?
Avatar
Migs/Jcmtg/Worng 2021-12-11 15:18
i want to compare hex values
Avatar
codemann8 2021-12-11 15:18
then compare them
Avatar
delvan 2021-12-11 15:18
Hex is just a way of presenting a number to you
Avatar
Migs/Jcmtg/Worng 2021-12-11 15:18
if segment:Read(0x7E0026) == 0x01 then ...end
Avatar
delvan 2021-12-11 15:18
0xFF is 255, they're the same number
Avatar
codemann8 2021-12-11 15:19
that looks fine to me
15:20
local module = AutoTracker:ReadU8(0x7e0010, 0) return module > 0x05 and module < 0x55 and module ~= 0x14
heres an example I use, its the same on segment objects
Avatar
Migs/Jcmtg/Worng 2021-12-11 15:22
so Lua can interpret INT and HEX appropriately?
Avatar
codemann8 2021-12-11 15:23
theyre literally the same
Avatar
Migs/Jcmtg/Worng 2021-12-11 15:23
if segment:ReadUInt8(0x7e1503) == 0xC3 then print("EQUAL") else print("NOT EQUAL") end
15:24
Thanks
Avatar
codemann8 2021-12-11 15:25
every computer in the world stores data as hex, and most if not all languages allow input as either hex or decimal to be used interchangably as needed (edited)
15:27
thats why the question is confusing to most people
Avatar
delvan 2021-12-11 15:27
Plenty of languages that let you specify a value in things other than hex or decimal as well, though I don't think lua has an equivalent to the 0b prefix in something like python to specify the value in binary
15:27
Err yeah what codemann8 said
Avatar
EmoSaru 2021-12-11 18:28
Slightly more accurately, every computer in the world stores integers in binary, optionally with a sign bit. The decision to initialize and/or compare integers via hex or binary constants in a high level programming language issue. (edited)
18:30
uint8 here refers to an 8 bit (1 byte) unsigned integer.
18:31
If you are unclear on this stuff, I recommend learning a bit more about lower level programming, as it’s can absolutely be relevant to autotracker development. (edited)
Avatar
Migs/Jcmtg/Worng 2021-12-11 20:38
Can segment do anything other than ReadUInt8 ?
20:39
Like, readword()?
Avatar
hooktail154 2021-12-11 20:39
It can do ReadUInt16. And I think ReadInt8 and ReadInt16 as well for signed values.
👍 1
20:41
(the number of bits in a word is platform dependent, eg. 16 on SNES and 8 on GB/GBC)
Avatar
EmoSaru 2021-12-11 22:55
All the available read functions specifically declare the read size in bits precisely to avoid that ambiguity. (edited)
Avatar
Toadette X Mushina 2021-12-13 00:31
This is kinda a noob question, but I'm having trouble figuring out where to start with making an item tracker, or even finding the code for one of the existing ones to work off of. Can someone point me in the right direction?
Avatar
TarThoron 2021-12-13 01:15
Emo's ALttP pack is the standard "example" pack. See also the .json schemas linked in the channel topic here, and read through the pins.
Avatar
Toadette X Mushina 2021-12-13 02:00
I understand that the lttp pack is probably the best place to start, but I couldn't find it, at least not where I'd installed emotracker. I couldn't find any of the packs I'd installed there, so I don't know where to look... I really don't even know what I'm looking for though... Or any json.... (edited)
Avatar
Hamsda 2021-12-13 02:20
they all live in Documents\EmoTracker
orihug 1
Avatar
Toadette X Mushina 2021-12-13 03:19
Thank you! DryadHeart
Avatar
Dating 2021-12-15 00:18
Heya, terribly new to EmoTracker. How do I go about implementing drag & drop for item icons to a map? Is this already a thing?
Avatar
EmoSaru 2021-12-15 00:32
There is currently no drag and drop support.
Avatar
VampireKnight 2021-12-15 00:33
Figured, I was thinking of replying a little earlier with "There's such a thing? O_o". But I decided not to, since I won't pretend to know EmoTracker.
Avatar
Avatar
EmoSaru
There is currently no drag and drop support.
Dating 2021-12-15 00:34
Thanks. Any other way to make item icons appear on the check-boxes on the map then?
Avatar
EmoSaru 2021-12-15 00:36
You can potentially use location badges, custom items, and some significant Lua scripting to do something, but it’s going to require quite a bit of work and will only work so well.
Avatar
VampireKnight 2021-12-15 00:36
Guessing to note where it is, in case you can't currently get it? Just keep a mental note 😛
Avatar
Avatar
VampireKnight
Guessing to note where it is, in case you can't currently get it? Just keep a mental note 😛
Dating 2021-12-15 00:36
Exactly this yeah 😅 But alright, I'll try to homebrew something. Thanks for the swift response.
Avatar
hooktail154 2021-12-15 00:36
codemann8's lttp package does this currently if you want an example. As EmoSaru mentioned, it's pretty involved. (edited)
Avatar
TarThoron 2021-12-15 06:38
You can make locations pinnable. Then you have to look at the pins section instead of the map, but it still makes note of what was where.
Avatar
3rogues 2021-12-31 08:44
hey all, nice software. I’m completely new to emoTracker and trying to learn by inspecting code. If I just want to change the map images, item images, and locations of an existing tracker, and there is no auto-tracking involved, I probably don’t have to touch any lua files, right? perhaps excluding the manifest/init?
Avatar
codemann8 2021-12-31 08:47
you can Export Overrides and then mod the files in the override folder, its the least intrusive way to make changes to a pack
Avatar
Matkap 2022-01-06 06:07
Im trying to edit some broadcast layouts for OOT as I did with alttpr, but all that is included in the Brocast json is this
06:07
{ "tracker_broadcast": { "type": "layout", "key": "item_grid_wide", "margin": "5,5,5,5" } }
06:08
shoud I edit the item grid?
Avatar
Hamsda 2022-01-06 06:17
yeah you can either just edit the itemgrid directly, or if you want them to differ, just copy the contents over and edit them only for the broadcast
Avatar
Matkap 2022-01-06 06:23
coo, would want them to differ ideally, thanks heart
06:30
mmm do I just copy paste the contents below the margin in the item grid document? (edited)
Avatar
cluekitty 2022-01-06 07:10
You'll copy/paste the contents of the item_grid_wide layout, rename it, and edit the one you renamed. Then use the new name in the key of the tracker_broadcast section you pasted
Avatar
Avatar
cluekitty
You'll copy/paste the contents of the item_grid_wide layout, rename it, and edit the one you renamed. Then use the new name in the key of the tracker_broadcast section you pasted
Matkap 2022-01-06 11:01
thanks
Avatar
Pink Switch 2022-01-08 10:56
for some reason my pack isn't supporting composite items. the individual left/right items just never toggle even though it should be working
Avatar
EmoSaru 2022-01-08 11:55
I don't believe anything has changed with composite items in a long time. Is this something that WAS working and no longer is, or a new addition you're making? If it's the latter, the error is mostly likely on your end. Can you post an example of what you're trying to do? (edited)
Avatar
Pink Switch 2022-01-08 13:24
no I got it I just forgot to update file paths after a directory change
Avatar
l100raphs 2022-01-09 19:01
i'm trying to customise an existing pack (ffv career day map tracker variant) so that i can get the map to appear either above or below all the items. the way it works at the moment, is the map can either be on the left or the right. I like the way that Emosarus map tracker for lttp can put the map above the items depending on the size of the tracker window, but would be happy with just forcing it a particular way if thats easier than trying to program it to the "smart" way emo's does.
Avatar
TarThoron 2022-01-09 19:10
Somewhere in the layout .json should be "dock:" which can be left, right, top, or bottom.
Avatar
l100raphs 2022-01-09 19:10
ah
Avatar
l100raphs 2022-01-09 19:18
alright one step closer!
19:20
it looks like the tracker layout was pretty simple for this pack - rather than having a "window" for items and a "window" for bosses, it's just one window with a little line between... and on the non map they're left/right vs. mapped one is top/bottom... so if i use the layout json structure from the non-map verison in the map version that should sort it out...
Avatar
l100raphs 2022-01-09 19:42
ooh almost there
Avatar
l100raphs 2022-01-09 19:55
hmm pinned locations keeps squishing the map, seems close tho!
Avatar
TarThoron 2022-01-09 20:02
Might need to set a scale, height, width, max_height, or max_width (edited)
Avatar
l100raphs 2022-01-09 20:20
i figured it out 🙂
20:21
ty for your help!
20:23
theres only one other thing i might change... but i'm gonna have a go first, now that i feel a bit more confident/familiar with how this works
20:26
yes! (there were two map icons that overlapped a lot so i altered the co-ordinates slightly so they dont overlap now)
Avatar
JohnnyGo 2022-01-22 17:56
is it possible to remove/change the boarder for the square indicators?
Avatar
7imberWolf 2022-01-24 03:39
Hello there! thank you for making this amazing tracker! I used EmoTracker a couple of years ago, and had it in OBS, and I thought I was able to customize how transparent the tracker was. Is this possible and if so, how do I do so?
Avatar
Lurch9229 2022-01-24 03:45
you can set the broadcast view as an NDI source in OBS, google NDI plugin for OBS, install it and then you will be able to select emotracker broadcast to be completely transparent and just show the icons (edited)
Avatar
TarThoron 2022-01-27 17:03
Is it possible to make a consumable display 0 for the quantity? Also is it possible to have it not gray out when 0? Tried "allow_disabled": false and it had no effect.
Avatar
cluekitty 2022-01-27 17:12
For the not graying out when disabled, you can probably set a disabled image filter
17:12
or, some form of image filter
Avatar
cluekitty 2022-01-27 17:21
for making something display 0, you'd probably have to make a custom item
Avatar
MikeTrethewey | Axiom Verge 2022-01-27 18:23
@TarThoron "disabled_img_mods": "brightness|1" seems to work to keep it illuminated at quantity 0.
Avatar
codemann8 2022-01-27 18:26
i think even "disabled_img_mods": "" works
Avatar
MikeTrethewey | Axiom Verge 2022-01-27 18:29
So it does.
Avatar
TarThoron 2022-01-27 18:40
That did the trick, thanks. I suppose now I could just alter the base images to have a "0" badge that gets covered by the consumable counter.
Avatar
codemann8 2022-01-27 18:41
a better way would be to "disabled_img_mods": "overlay|images/overlay0.png" (edited)
👍 1
Avatar
Avatar
codemann8
a better way would be to "disabled_img_mods": "overlay|images/overlay0.png" (edited)
MikeTrethewey | Axiom Verge 2022-01-27 19:05
Yep. I've given up on trying to get more than one custom LUA items playing nicely together.
Avatar
EmoSaru 2022-01-27 20:25
Hmm? That sounds more like the SDK issue where the class is being extended incorrectly. I swear I have updated the sdk zip to fix that, but I will triple check.
Avatar
Avatar
MikeTrethewey | Axiom Verge
Yep. I've given up on trying to get more than one custom LUA items playing nicely together.
codemann8 2022-01-27 20:28
Yeah I'm not sure what this comment is referring to but like EmoSaru said, there was an old SDK issue that would only allow one LUA item class definition at a time, so you prob have an old copy of the SDK or something
Avatar
MikeTrethewey | Axiom Verge 2022-01-27 21:00
It’s very possible that I lifted an old version from somewhere. Don’t have the brain space to look at it at this moment.
Avatar
Avatar
EmoSaru
Hmm? That sounds more like the SDK issue where the class is being extended incorrectly. I swear I have updated the sdk zip to fix that, but I will triple check.
MikeTrethewey | Axiom Verge 2022-01-28 18:51
I was trying to reference something before inclusion. 👏
👍 1
Avatar
theamusedminiature 2022-02-03 23:54
quick question. When putting a "progressive" type item in to a layout, what code name do I use to get it to appear on the layout?
Avatar
Hamsda 2022-02-03 23:59
any of the first stage might technically be of any stage? but i think most of us have first stage so its easier to identify
Avatar
theamusedminiature 2022-02-04 00:07
Gottcha, I've been trying to get it to appear on the tracker but can't seem to get it, thought that might have been the issue. Oh well, have to keep looking at it.
Avatar
EmoSaru 2022-02-04 00:16
Make sure you’re loading the item before you load the layout that references it.
Avatar
TheFogFrog 2022-02-04 16:07
Hey, how would I go about removing all the items except the Spirit Stones and Medallions? I'm a little lost in the LUA files haha
Avatar
delvan 2022-02-04 16:08
Go through the pins first. You don't need to edit any LUA files for that, just override your layout (they are simple JSON files) to only show the stuff you want to see.
Avatar
TheFogFrog 2022-02-04 16:13
how would I override my layout
Avatar
codemann8 2022-02-04 16:14
pins
Avatar
TheFogFrog 2022-02-04 16:15
I have looked at them but the links redirect me to the JSON pages and I'm not entirely sure what I'm reading?
Avatar
codemann8 2022-02-04 16:16
#faq
Avatar
TheFogFrog 2022-02-04 16:22
I exported and nothing has changed.
Avatar
delvan 2022-02-04 16:27
What did you change in your override? It sounds like you didn't customize anything.
Avatar
TheFogFrog 2022-02-04 16:28
I exported all the items I waned to export, as well as the "layout.json". I only have need for the medallions and the spirit stones for an overlay, so I chose them, and when I exported, nothing changed
Avatar
delvan 2022-02-04 16:29
You have to edit the layout if you want to edit the layout
Avatar
TheFogFrog 2022-02-04 16:32
Yes but how do I edit the layout? I've exported, I've went to the folders where the images and layout is, but that's where the instructions end
Avatar
delvan 2022-02-04 16:33
Open the layout file you exported
16:33
Edit it
Avatar
TheFogFrog 2022-02-04 16:39
That is all I have access to in my "user_overrides" folder. I have the medallions and stones, and when I open the Broadcast.json file, I'll delete an item and nothing changes. I've deleted multiple lines from the json file and as shown they are still in the tracker. I'm obviously missing something here but the vagueness is a little lost upon me.
Avatar
delvan 2022-02-04 16:40
Broadcast.json is for broadcast, are you trying to edit your broadcast layout?
Avatar
TheFogFrog 2022-02-04 16:40
I'm just trying to edit the layout in general, but the #faq also says to access the broadcast as well, so you can see how I got lost.
Avatar
delvan 2022-02-04 16:46
Then it sounds like you need to go through the layouts to find the layout you wanted to edit, if it isn't the broadcast layout you want to edit
16:48
The overrides folder is for stuff you are going to override
16:48
So unless you are replacing the images with new images you don't need all those images you exported
Avatar
TheFogFrog 2022-02-04 16:48
I know what layout I want to edit, I don't even know where to start, which is why I'm asking for help. The instructions are vague at best, I know what package I want to edit, but no matter what I export nothing changes. I don't know how to edit the layout at all, and any instructions telling me how just tell me to export images that you are saying I don't need.
Avatar
TarThoron 2022-02-04 17:05
layout.json will be for the main tracker window. broadcast.json is for the broadcast window, which you open by pressing F2. The broadcast window is for display only. You can't interact with the items there. It is intended to be captured by software like OBS for display on streams. After you edit whichever layout you're wanting to change, you have to save the .json (don't change the filename), then refresh EmoTracker. You only need to export images if you want to change the actual displayed image. Like if you wanted to display 16th notes instead of eighth notes for the songs.
Avatar
EmoSaru 2022-02-04 17:07
In order to customize a package, the specific files that you’re going to need to edit, and how, are going to depend on the way that package was structured by the developer. In principle though, you are going to want to export an override file for the main tracker layout, and work your way from there to finding the specific layout you want to change, or alternatively, completely redefine the tracker layout. The JSON files linked in the pinned messages are JSON schemas, which describe the format of the various types of JSON files contained within a pack. A degree of familiarity with JSON as a data format and how to edit/work with it is necessary to make more substantial changes. (edited)
Avatar
TarThoron 2022-02-04 17:09
Barring familiarity, a willingness for trial and error.
Avatar
TheFogFrog 2022-02-04 17:10
That's all I needed to be directed to. Thank you for the specific and detailed explanation, I have successfully removed what is not needed.
Avatar
Bingchang 2022-02-05 17:21
Ok, would someone be able to take a look at what I've created? There isn't a whole lot but I'm definitely about out of my depth
Avatar
EmoSaru 2022-02-05 17:29
So, I can potentially take a quick look if you DM me a zip file of what you've got going on. I'm just going to let you know though that this is the easy part, so you may find that if you're struggling too much here, you may be not quite prepared for the process of creating a pack at this point. No offense intended, just want to make sure you're not just heading into a pit of frustration.
Avatar
Bingchang 2022-02-05 17:29
I appreciate it, I was hoping that it would be easy and I am absolutely out of my depth haha
Avatar
EmoSaru 2022-02-05 17:30
Roger that. All that said, if you would like me to take a look at what you've done, in case it's a simple error and you're mostly on the right track, I will do so.
Avatar
Bingchang 2022-02-05 17:31
Yes please, the goal was to just make a simple tracker with nothing special going on
17:31
I really appreciate all the help
Avatar
RvPA 2022-02-05 17:52
I have a pretty simple tracker for the new Resident Evil 1 Classic Rando. Would this package be ok to DM? Just wanted to make sure before I did, I know it's been answered before but just wanted to make sure it'd be ok before I did!
Avatar
Bingchang 2022-02-05 18:25
Are you asking me rvpa?
Avatar
RvPA 2022-02-05 18:26
oh i was just asking in general, i wasn't sure where to really ask 😬
Avatar
Bingchang 2022-02-05 18:27
I more meant did you ask to send me for reference or do you want someone to review what you've setup?
Avatar
RvPA 2022-02-05 18:29
oh nah i was just trying to figure out a good way to put it out there, there's not really a good central spot for resident evil randomizers lol
Avatar
Bingchang 2022-02-05 18:30
ah yah that'll be for someone who knows what's going on. I'm just an idiot bumbling around
Avatar
RvPA 2022-02-05 18:34
haha i appreciate it though 🙂
Avatar
TarThoron 2022-02-05 18:36
Standard operating procedure when you have a pack ready for distribution is to DM EmoSaru.
Avatar
theamusedminiature 2022-02-07 11:13
thanks for the tip on progressives. Worked like a charm. I'm new to coding and really appreciate the help!
Avatar
theamusedminiature 2022-02-07 14:47
I'm trying to troubleshoot why when I load a map tracker the locations don't load. So far I've tried: 1. Looking in the developer console to ensure that emotracker is loading my ini.lua with no errors. 2. Used $schem found in the pins to update my .json files for locations and maps to match proper formatting.
Avatar
Lurch9229 2022-02-07 14:50
have you specified in the init.lua Tracker:AddLocations("root/to/json") (edited)
Avatar
theamusedminiature 2022-02-07 14:52
this is what I have for ini.lua
Avatar
cluekitty 2022-02-07 14:55
loading things in emotracker must be done in order. If you try referencing something that doesn't exist yet, it won't exist when you load it later.
14:56
Though, that screenshot does look like things may be loaded correctly. I can't be sure of what's in the files themselves
Avatar
theamusedminiature 2022-02-07 14:58
I'll try reordering things to see what happens
Avatar
cluekitty 2022-02-07 14:58
FWIW, i have my tracker loading things in the same order, items, maps, locations, layouts (with some scripts in between)
Avatar
Hamsda 2022-02-07 15:00
just to make sure, it is init.lua not ini.lua?
Avatar
theamusedminiature 2022-02-07 15:02
yes sorry lazy typing
Avatar
cluekitty 2022-02-07 15:03
The only other thing I could think of are maybe the location references may not point to the map properly
Avatar
theamusedminiature 2022-02-07 15:04
so "x" and "y" are the locations that you want the location at in pixels right?
Avatar
cluekitty 2022-02-07 15:04
Yes, pixels across the size of the image
15:05
If you want to test if anything is showing up, you could add a dummy location at 0,0 and it should show up in the top left corner
15:07
Or, if you have visibility/access rules, they may just be invisible. You can force all of them without visibility rules to be active by clicking the gear -> Tracking -> Show All Locations (F11)
Avatar
theamusedminiature 2022-02-07 15:08
I did'nt think of that. That wasn't the problem but I'll double check the locations file to insure that everything is correct
15:08
thanks for the help
Avatar
JohnnyGo 2022-02-07 15:32
in my experience everything but the locations will load if the location file has incorrect json (edited)
Avatar
theamusedminiature 2022-02-07 19:38
when writing a location in .json files is the order that they appear in the pin $schema how the are supposed to appear from top to bottom?
19:39
I'm assuming that my issue is improper order but I don't know for sure.
Avatar
JohnnyGo 2022-02-07 19:54
like 99% sure it shouldn't matter
19:54
how are you editing the file?
Avatar
JohnnyGo 2022-02-07 20:03
if you use VSCode, you can install the ESLint and Prettier extensions (edited)
20:03
ESLint should show you where any errors in your file are, and Prettier will autoformat it for you (edited)
Avatar
theamusedminiature 2022-02-07 21:09
thanks for the help JonnyGo I got it fixed up. Now I just got to fix my logic.lua to get item counts right!
👍 1
Avatar
XenoWars 2022-03-04 07:23
Can a check have a hosted item while not having a capture item
Avatar
cluekitty 2022-03-04 07:37
Yes
Avatar
XenoWars 2022-03-04 07:57
OK, so i think i finally know how ill tackle starting room for my MP2 tracker
Avatar
Hamsda 2022-03-04 08:46
thats how basically every boss with a dungeon reward is handled in a lot of packs, ye
Avatar
Lurch9229 2022-03-04 11:49
I use it to unlock progress behind bosses
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 10:52
@DukeDragon28 What’s “RaC” in this context?
Avatar
DukeDragon28 2022-03-10 10:53
Ratchet and Clank
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 10:54
Ahh. Neat.
Avatar
DukeDragon28 2022-03-10 10:54
Its not even out, but we have a good idea of whats happening
👍 1
10:54
anyway atm Im kinda just flailing around in the files to get a simple image swap
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 10:57
An upgradable or swappable item is usually best represented by either a progressive or progressive_toggle.
Avatar
DukeDragon28 2022-03-10 10:57
Yeah, I was just an idiot
10:57
Ive done this before, but it was just moving items around in a pack for preference
10:57
this is basically bodging one pack from another
👍 1
Avatar
Avatar
DukeDragon28
this is basically bodging one pack from another
MikeTrethewey | Axiom Verge 2022-03-10 10:58
Usually how it’s done! :D
Avatar
DukeDragon28 2022-03-10 10:58
Fair
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 10:58
Is it for a particular R&C game or is it like all of them?
Avatar
DukeDragon28 2022-03-10 11:01
I think its just the first
11:01
Alright step 1 achived: simple image transplant
11:01
KEKW
11:02
that only took 50 minutes
11:02
and also thats now 0002 and not 0000 like it should be, but if I call it 0000 it breaks
11:02
so uhh
11:02
Its gonna stay like that
Avatar
codemann8 2022-03-10 11:03
I wouldn't use the same image file naming, use a name thats more intuitive, you'll thank me later
11:03
Give it a name thats meaningful to the game youre making the pack for
Avatar
DukeDragon28 2022-03-10 11:03
Im gonna switch to another pack where i understand the items better
11:04
then yeah I'll do that
11:04
actually no
11:04
Ok so, where does it specify what iamges correspond to what
11:05
nvm I think I found it
Avatar
codemann8 2022-03-10 11:05
in the item definition
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 11:05
So, if your magnet thingy is 0002.png or whatever, you can rename the file and the reference to magnet-thingy.png
Avatar
DukeDragon28 2022-03-10 11:06
well yeah
11:06
but I need to find where it all corresponds so I can change it properly
11:06
to make sure I dont get lost later
11:06
I think I found it in [Pack] > Items > Common
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 11:07
File structure does have some guidelines and tracker layouts do have some reserved names. Beyond that, it’s mostly at the discretion of the pack author.
Avatar
DukeDragon28 2022-03-10 11:08
fair
11:08
well I think its the right place because changing the code name has just removed it from the layout
11:08
Success
Avatar
codemann8 2022-03-10 11:08
looking at the scripts/init.lua is where you can see when and where everything is loaded from
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 11:09
The Developer Console is also handy to look at for some hints about where stuff might be acting up.
11:09
You can also use print statements in LUA code that’ll show up in there, which is cool.
Avatar
DukeDragon28 2022-03-10 11:10
Ayy, replaced file name and codes for one item
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 11:10
Progress!
Avatar
DukeDragon28 2022-03-10 11:11
I can already see Im gonna need to space out the images more, but I'll let future me deal with that
Avatar
MikeTrethewey | Axiom Verge 2022-03-10 11:11
I find that I tend to leave a lot to Future Me.
Avatar
DukeDragon28 2022-03-10 11:12
It usually works very well for me KEKW
Avatar
cluekitty 2022-03-10 11:59
future me is my gitlab issues board for all the things wrong I find in my pack
👍 1
Avatar
TarThoron 2022-03-10 12:01
Future Me thinks Past Me is a jerk.
Avatar
DukeDragon28 2022-03-10 12:02
Future me is usally panicking about a 2 week task which past him left to do the day before the deadline
Avatar
DukeDragon28 2022-03-10 13:26
Most images done, I want to align that to the middle but another part of the JSON is present as there are more items on the right
13:26
(middle)
13:26
13:26
Im cant get rid of it without it nuking everything
13:26
ideas?
Avatar
JohnnyGo 2022-03-10 13:27
do you need the second item grid?
Avatar
DukeDragon28 2022-03-10 13:28
I was gonna say no but I realised I think there are more things to add
13:28
sorry
Avatar
JohnnyGo 2022-03-10 13:28
can they be added to the first? (edited)
Avatar
DukeDragon28 2022-03-10 13:29
Yeah
13:29
tell me how to get rid of the 2nd grid, I can add back if I need to
Avatar
TarThoron 2022-03-10 13:36
Should just need to delete this bracket set.
Avatar
codemann8 2022-03-10 13:37
that indentation
Avatar
TarThoron 2022-03-10 13:40
Can delete that , at the end of the previous section too, though trailing commas usually don't break stuff
Avatar
JohnnyGo 2022-03-10 13:45
then it should just be changing the h_alignment to center
Avatar
Avatar
codemann8
that indentation
EmoSaru 2022-03-10 16:46
Looks like tabs and spaces got mixed at some point, I’ll have to look at that lol
Avatar
XenoWars 2022-03-16 10:51
do you need to include the () when calling a function in the locations logic? i didnt see it like that in Hamsda's OOT tracker, but it's not working for me.
Avatar
Hamsda 2022-03-16 10:52
got an example?
Avatar
XenoWars 2022-03-16 10:54
this one is from your overworld.json "[logic_lost_woods_gs_bean],hookshot,$has_bombchus", And this one is from mine. "tgis, scan, @IS Translator Gate, $industrialgate",
10:54
developer console says the function does not exist
Avatar
Hamsda 2022-03-16 10:55
then you probably tried calling it before you loaded it?
10:55
but to answer your question, no () allowed there
Avatar
XenoWars 2022-03-16 10:55
there may be some syntax error with my function though cause there's a lot for it
Avatar
Hamsda 2022-03-16 10:56
if you wanna pass in arguments, you use |
Avatar
XenoWars 2022-03-16 10:56
i called it before. using it in templegroundsrooms.json
Avatar
Hamsda 2022-03-16 10:56
most commonly used with $has_age in my pack
Avatar
XenoWars 2022-03-16 10:56
err, after
Avatar
Hamsda 2022-03-16 10:57
can you show what the dev console prints exactly?
Avatar
XenoWars 2022-03-16 10:58
Avatar
Hamsda 2022-03-16 10:59
i mean ye, its literally erroring out on loading your script, so its not gonna be defined
Avatar
XenoWars 2022-03-16 10:59
oh didnt see that part
Avatar
Hamsda 2022-03-16 11:00
surprised your linter wouldn't flag a missing closing parenthesis
Avatar
XenoWars 2022-03-16 11:04
im not directly seeing anything wrong myself
11:04
all parenthesis seem to be paired
11:04
oh im looking at the wrong line
Avatar
XenoWars 2022-03-16 11:12
it loads now but i seem to have done the function incorrectly cause it's not coming up as logical
Avatar
Avatar
XenoWars
it loads now but i seem to have done the function incorrectly cause it's not coming up as logical
MikeTrethewey | Axiom Verge 2022-03-16 11:22
Can you post a code block with the defn of industrialgate()?
Avatar
XenoWars 2022-03-16 11:29
function industrialgate() if (has("scan") and ( (has("missile") or (has("knowledgeb") and has("annihilator") and has("charge") and has("lightbeam") and has("darkbeam")) and (has("tgis") or has("behindgatesb"))) or (has("tgis") and (has("power") or (has("spacejump") and has("screwattack")) or (has("morph") and (has("bomb") or has("powerbomb"))))) or (has("behindgatesb") and has("knowledgeb") and has("spacejump") and (has("power") or (has("charge") and (has("lightbeam") or has("darkbeam"))))))) then return 1 else return 0 end end
Avatar
MikeTrethewey | Axiom Verge 2022-03-16 11:31
It may take longer to execute but may be easier to debug if the ors were split into their own return statements.
11:31
And now I’m upset that Discord doesn’t support landscape mode on my phone, rofl.
Avatar
XenoWars 2022-03-16 11:33
yeah this one is rough cause there's so much that can be done to trigger this event
11:34
how would i go about separating it then?
11:34
the missile and annihilator lines can be used if you have tgis or the behind gates trick. everything else is specific to one or the other
11:35
but you need scan no matter what
Avatar
MikeTrethewey | Axiom Verge 2022-03-16 11:36
Are there ands that can be set to a local variable?
11:37
Parentheses are a double-edged sword. Nice for readability and specificity, but mismatched parens are still a reality that can getcha.
11:38
So, my thought process is to see if the nested parentheses can be reduced by splitting the steps apart, if at all possible.
Avatar
XenoWars 2022-03-16 11:40
what would be an example of a local variable?
11:40
i do have some idea of how it could be separated
Avatar
MikeTrethewey | Axiom Verge 2022-03-16 11:41
Bombs or PBs can condense to something like canBlowUpWalls.
Avatar
XenoWars 2022-03-16 11:41
yeah, havent done that quite yet
👍 1
11:42
it certainly would make things easier
Avatar
MikeTrethewey | Axiom Verge 2022-03-16 11:42
Sounds like I’ve sparked some ideas though. :3
11:44
Also, double-check your item names. I’ve been burned by missing a letter before and getting false falses.
Avatar
XenoWars 2022-03-16 11:45
yeah i had double-checked them
👍 1
Avatar
Otome 2022-03-20 20:38
I'm trying to find out how to do two different things for my pack: -Dependent on a setting, change what items are available on the tracker. IE: Two characters have different items that spawn. -How to do left and right inputs that change the combined image to something else when both are active. IE: two items that combine and give a different item. (Found it. Composite_Toggle, right?) (edited)
Avatar
Avatar
Otome
I'm trying to find out how to do two different things for my pack: -Dependent on a setting, change what items are available on the tracker. IE: Two characters have different items that spawn. -How to do left and right inputs that change the combined image to something else when both are active. IE: two items that combine and give a different item. (Found it. Composite_Toggle, right?) (edited)
MikeTrethewey | Axiom Verge 2022-03-20 21:25
Would it be easier to have two variants; one for each character?
Avatar
Otome 2022-03-20 21:26
Not a lot of items change, but i can do two different arrays, yeah.
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 21:28
Example: Emo’s base pack changes some stuff between Standard Map & Keysanity Map. Instead of different types of keys, it’d be different character inventory sets.
Avatar
Otome 2022-03-20 21:29
That may work.
Avatar
blasteg 2022-03-20 21:46
yeah sounds like Variant is the way to go, but maybe having a item that swaps you to that variant when checked would be good UX?
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 21:47
I was thinking that too but wasn't sure how available it was at this time.
21:47
I don't recall if an "item" can change the loaded variant dynamically.
Avatar
blasteg 2022-03-20 21:47
yeah. this might get onto #suggestions category if we need that
👍 1
Avatar
TarThoron 2022-03-20 21:50
Switching variants currently resets the tracker.
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 21:52
Bad example: Sonic Adventure has different characters with different inventory but the same (similar) levels and some of that inventory could (theoretically) be the same across playable characters.
21:53
Load up a pack, click the playable character you've selected, loads the proper variant for you, gogogo.
Avatar
Otome 2022-03-20 21:54
I'll explain with a little more detail. Resident Evil 2 Remake. So Claire and Leon and their second playthrough variants. Same map areas. Same general locations for items. But different items for each character like their weapons, certain keys, when locations can be accessed.
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 21:54
Ahh. A NG+ selector, kind of.
Avatar
Otome 2022-03-20 21:55
So would it be better for me to just make two different map variants then work off the different scenarios as internal variants?
Avatar
blasteg 2022-03-20 21:55
since logic is different I'd say yes
Avatar
TarThoron 2022-03-20 21:56
Is there ever a time where you would play the both playthroughs back-to-back without resetting your inventory to start the second run? (edited)
Avatar
Otome 2022-03-20 21:57
Both scenarios start with fresh inventories.
Avatar
TarThoron 2022-03-20 21:58
Then yeah, variants with seperate logic is the way to go.
Avatar
blasteg 2022-03-20 21:59
but a button to change variant on the UI, even if it resets the tracker, would be a decent idea
Avatar
TarThoron 2022-03-20 22:00
There is. Right click the folder icon in the bottom right.
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 22:01
Actually, codemann has his new beta idea of Tips. Could use one of those on-load to talk about the variants. Or include it in documentation online somewhere. 🤷‍♀️
Avatar
TarThoron 2022-03-20 22:03
Every pack has the option of a ReadMe. Even a hotkey (F10 I think?) to bring it up.
22:04
F1
Avatar
codemann8 2022-03-20 22:22
speaking of, I do have a public beta of the new version of my tracker I'd been working on, if y'all wanted to check it out for either to test it out, or to look at the new functionality to see how I did some of the things: https://github.com/codemann8/alttpr_codetracker_codemann8/releases/tag/3.0.0.0b
Added configurable settings within UI Combined the 3 Map Variants into one Layout changes based on modes selected Added OW Tile Swap Support Added Flute and Whirlpool Shuffle Support (just disables...
Avatar
EmoSaru 2022-03-20 22:53
Just be advised, I haven’t looked deeply into this to see what Codemann’s beta pack is doing, but any use of Lua scripting features outside of what I’ve committed to supporting (basically what my pack uses plus a bit) is 1) likely to require the unsafe scripting setting and 2) has no guarantee that I will continue to support it if things need to change in the future. (edited)
Avatar
codemann8 2022-03-20 22:54
^ this... everything in my package comes with an asterisk
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 22:54
I'm running it currently with -dev and haven't seen any app-level messages yet.
22:54
I also haven't opened the Dev Console to see what's happening there either.
22:55
But holy-crap-on-a-stick does my machine not like crunching all those numbers, lol. (This is definitely a my-machine thing.)
Avatar
codemann8 2022-03-20 22:56
I have heard from people that it loads faster than the previous version tho
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 22:56
My specs are definitely on the way to dinosaur paperweight.
Avatar
Otome 2022-03-20 23:45
another issue now. The composite and progressive items show up, but the toggle items do not. And the composite items do not work as they should. They can't be clicked on with left or right to go between states
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:46
Do box & redgem exist in the defns before Gem Box?
23:46
Do arm & book exist in the defns before Arm Book?
Avatar
Otome 2022-03-20 23:47
oh hell. no.
23:47
oops
23:47
still wondering why the rest of the items are black though.
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:47
EmoTracker's set up to not honor forward references.
23:48
What's /layouts/tracker.json look like? Does it have an itemgrid called shared_item_grid?
23:49
Arm Book sounds like Horse Staple, lol.
Avatar
Otome 2022-03-20 23:50
shared_item_grid
23:50
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:51
What's the defn for knife look like?
Avatar
Otome 2022-03-20 23:51
it's also odd because the boxpart (which is the orange box) is showing under the gembox when it should be at the beginning of a new row
23:51
// Knife { "name": "Knife", "type": "toggle", "image": "images/weapons/knife.png", "codes": "knife" },
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:52
And the image file is definitely there?
23:52
Also, that's not a knife. This is a knife. >.>
23:53
Another dumb question: Is the item file that defines knife and the rest actually being loaded by init.lua?
Avatar
Otome 2022-03-20 23:53
23:53
yeah. console says it loaded items/items.json
Avatar
codemann8 2022-03-20 23:54
it matters the order you load stuf in the init.lua tho, so make sure everything that is defined is only referencing stuff from before that line
Avatar
Otome 2022-03-20 23:54
It's at the very top of the init.lua
23:55
So shouldn't it load the items first?
Avatar
codemann8 2022-03-20 23:55
i mean the actual items.json
Avatar
blasteg 2022-03-20 23:55
also, is it showing extension? no knife.png.jpg or that kind of bs?
👍 1
Avatar
Otome 2022-03-20 23:55
It's showing extension. And the item array needs to be in order with the items.json?
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:56
Just make sure that items are loaded before layouts/locations.
Avatar
blasteg 2022-03-20 23:56
no, item.json should be before layout.json
Avatar
codemann8 2022-03-20 23:56
no, it just needs to be defined before that, but if there are items that reference other items, they need to be defined in order, this is common with composite toggles and progressive toggles
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:57
Yeah. We talked about making sure that basically the components of a composite need to be defined before the composite.
Avatar
Otome 2022-03-20 23:57
The composites I got working because of that.
23:57
I'm worried about the rest of the items which are normal toggles.
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:59
Oh hey.
Avatar
blasteg 2022-03-20 23:59
have you tried resizing the tracker to see if they show up (edited)
Avatar
MikeTrethewey | Axiom Verge 2022-03-20 23:59
I think it's because "image" should be "img".
Avatar
Otome 2022-03-21 00:00
oh my god why did i mix them
Avatar
Avatar
MikeTrethewey | Axiom Verge
I think it's because "image" should be "img".
MikeTrethewey | Axiom Verge 2022-03-21 00:00
That's a sticky wicket.
Avatar
Otome 2022-03-21 00:00
ok well there's most of the items
Avatar
MikeTrethewey | Axiom Verge 2022-03-21 00:00
Can N++ validate JSON against a Schema?
Avatar
Otome 2022-03-21 00:01
ok there they all are.
00:01
And uh.
00:01
maybe?
Avatar
MikeTrethewey | Axiom Verge 2022-03-21 00:02
... waiting for my computer to catch up.
Avatar
Otome 2022-03-21 00:03
The only items still missing are ones I didn’t finish defining. Whoops
00:03
Thank you. I’ll be back when I’m doing the maps.
Avatar
MikeTrethewey | Axiom Verge 2022-03-21 00:03
Hey, at least that makes sense, lol.
Avatar
Otome 2022-03-21 00:36
Actually, last last question.
Avatar
MikeTrethewey | Axiom Verge 2022-03-21 00:36
Famous last words.
Avatar
Otome 2022-03-21 00:36
Can a toggle have a different picture when active against not active?
00:36
Like a dimmed picture being different than the lit one.
Avatar
MikeTrethewey | Axiom Verge 2022-03-21 00:36
Also, looks like out of most options available, VSCode is your best bet (still) for validating against Emo's schemas to make sure that you've got the right stuff selected (like "img" which is correct instead of "image" which is incorrect).
00:37
I think disabled_img can be set to an image path. Try that.
Avatar
Otome 2022-03-21 00:41
Didn't seem to work.
00:41
Or... one sec.
00:42
Ok, it goes after the initial "img" call
00:42
Now I don't have progressives that are literally two items anymore. Yay.
Avatar
WolfBoi008 2022-03-22 19:22
What's a good json/settings for the Super Mario 64 and Zelda trackers? My screen isn't big enough to fit the whole thing at once (edited)
19:27
for example, with the mario 64 one
19:27
as you can see at the bottom there's a whole row of stuff i cant even get on screen
Avatar
TarThoron 2022-03-22 19:36
You could probably drop the Seed bit and reuse that space. Or you could force stuff to be 36x36 instead of 48x48, and similarly cut the text/stars/etc. to 18px tall and whatever 75% width is.
19:38
Customizing to fit layout requirements is going to be unique to each person (hence custom). Pack devs just try to get it to something that works for most people.
Avatar
codemann8 2022-03-22 19:59
actually, the quickest thing you could do is to simply override a certain layout file and add "scale": 0.75 to one of the top level layouts and that should help things, or at least get you going on something a bit more simple (edited)
Avatar
Avatar
codemann8
actually, the quickest thing you could do is to simply override a certain layout file and add "scale": 0.75 to one of the top level layouts and that should help things, or at least get you going on something a bit more simple (edited)
WolfBoi008 2022-03-22 20:44
where would i add scale? sorry, havent changed a layout file in emotracker before and i wanna make sure i dont break it lol
Avatar
codemann8 2022-03-22 20:45
you can add scale on any element and it will scale all elements below that, "1.0" scale means no change
Avatar
WolfBoi008 2022-03-22 20:57
unless im dumb, it did nothing
20:58
so im probably just dumb
Avatar
x10power | FFMQ Tracker 2022-03-30 17:45
Does anyone have a template I could use to work on a package for FFMQ Rando?
17:52
Also what is the ideal image size for the icons?
Avatar
cluekitty 2022-03-30 17:53
images can be scaled down or up, so I don't think that really matters
Avatar
x10power | FFMQ Tracker 2022-03-30 17:54
Okay, I guess I will start with the images first to fill in time
Avatar
cluekitty 2022-03-30 17:57
But, for what it's worth, I have 64x64 images scaled down to 32x32 (edited)
👍 1
Avatar
x10power | FFMQ Tracker 2022-03-30 17:57
I'm doing 50x50
17:58
I can quickly undo what I done and scale them to 64
Avatar
cluekitty 2022-03-30 17:59
if you have an itemgrid, you can specify item_size as one of its parameters
17:59
So, it's pretty easy to scale them, though scaling may deform the images a bit
Avatar
x10power | FFMQ Tracker 2022-03-30 17:59
I do have a sprite sheet
18:00
Oh your talking when I actually get to coding
18:01
Yeah I plan on doing a simple item grid to start
Avatar
cluekitty 2022-03-30 18:01
Yeah, the actual layout component itemgrid has an option for item_size
Avatar
x10power | FFMQ Tracker 2022-03-30 18:01
Yeah, I am not that far yet
Avatar
TarThoron 2022-03-30 18:02
SNES game images are usually 8x8 or 16x16, so they tend to scale best at multiples of 8 or 16.
Avatar
cluekitty 2022-03-30 18:02
It's typically recommended to use EmoSaru's alttpr pack as a base to get started
Avatar
x10power | FFMQ Tracker 2022-03-30 18:02
could someone tell me where I can find that
18:03
im installing the package now
Avatar
cluekitty 2022-03-30 18:03
Install it through the emotracker package manger (it's the official one), then go to C:\Users\(your username)\Documents\Emotracker\Packs\
Avatar
x10power | FFMQ Tracker 2022-03-30 18:04
Okay I can work with this
Avatar
TarThoron 2022-03-30 18:05
Are you doing just items, or will you have a map too?
Avatar
x10power | FFMQ Tracker 2022-03-30 18:05
Just items to start
18:06
Will expand later if needed
Avatar
TarThoron 2022-03-30 18:09
Might also be beneficial to look at an existing item-only pack, such as one of the PugHUD packs. Maps add a lot of complexity to packs, and a lot of files you don't need for just items.
Avatar
cluekitty 2022-03-30 18:09
There is that too
Avatar
x10power | FFMQ Tracker 2022-03-30 18:09
Yeah, Im gonna look at one without a map
18:15
Okay 1 last question so I can see what I am doing. How can I load in my modified pack
18:15
I have it in the packs folder and its zipped
18:20
I figure it out
Avatar
TarThoron 2022-03-30 18:20
There should be a Misc option in the package selector.
Avatar
x10power | FFMQ Tracker 2022-03-30 18:20
Yeah I forgot to edit the manifest
18:20
so it was just seeing the one
Avatar
TarThoron 2022-03-30 18:21
Yeah, that's important too.
Avatar
Avatar
x10power | FFMQ Tracker
I can quickly undo what I done and scale them to 64
MikeTrethewey | Axiom Verge 2022-03-30 18:58
Sticking to binary multiples or the like is best. Round numbers are generally not ideal.
Avatar
x10power | FFMQ Tracker 2022-03-30 19:00
Yeah makes sense
Avatar
Avatar
EmoSaru
If you create your own shortcut for EmoTracker, you can add the -dev command line argument. That will cause the entire app to use <user>/EmoTracker/dev instead of <user>/EmoTracker for all relevant directories (edited)
MikeTrethewey | Axiom Verge 2022-03-30 19:01
@x10power | FFMQ Tracker This is also a handy trick.
Avatar
x10power | FFMQ Tracker 2022-03-30 19:02
I'm already neck deep and I have a good setup already
Avatar
MikeTrethewey | Axiom Verge 2022-03-30 19:02
Heh. Sounds good!
19:03
Setup and structure can be decently-sized hurdles but it tends to plateau after that.
Avatar
x10power | FFMQ Tracker 2022-03-30 19:04
Yeah, I finally got my first image to load in emotracker
👍 1
🎉 1
Avatar
x10power | FFMQ Tracker 2022-03-30 19:21
Okay I have both the broadcast and the tracker updated but in my items file I don't know what I am doing wrong for a progressive item
19:21
19:21
Its not shown but there is 1 more bracket at the very bottom
19:23
I figure it out, I was missing the comma at the end of the brackets
Avatar
JohnnyGo 2022-03-30 19:25
I've recommended this before but since this is mostly all JSON, I really recommend using VSCode with the ESLint and Prettier extensions, it'll make it really easy to see any formatting errors (edited)
Avatar
x10power | FFMQ Tracker 2022-03-30 19:26
Yeah I didnt even know what language I was using here lol
19:26
Im gonna switch over to notepad++
Avatar
MikeTrethewey | Axiom Verge 2022-03-30 19:40
Yeah. Each element of the stages object needs a comma separating them.
Avatar
x10power | FFMQ Tracker 2022-03-30 19:42
Okay I got a system down for myself
19:42
I should be fine till I need to finalize it
Avatar
MikeTrethewey | Axiom Verge 2022-04-01 23:50
@De1taNoob ⚙-> Advanced -> Export Overrides Search for tracker Check the checkbox next to tracker_layout.json Click the "Export Overrides" button ⚙-> Advanced -> Open Override Folder Edit tracker_layout.json Replace with contents of below:
23:50
23:51
Avatar
Avatar
MikeTrethewey | Axiom Verge
Click to see attachment 🖼️
De1taNoob 2022-04-01 23:53
Thats didnt fix it but im an idiot and i dont think its fixable. Really appreciate the help though!
Avatar
MikeTrethewey | Axiom Verge 2022-04-01 23:54
I don't believe you.
Avatar
De1taNoob 2022-04-01 23:54
Scratch that it did fix it. Thank you!
Avatar
MikeTrethewey | Axiom Verge 2022-04-01 23:54
There it is.
Avatar
De1taNoob 2022-04-01 23:54
I know why it was so small though
Avatar
MikeTrethewey | Axiom Verge 2022-04-01 23:54
Because the Items section is very tall.
23:55
So, I shortened the height of the Items section by spreading stuff out horizontally.
Avatar
De1taNoob 2022-04-01 23:55
Well that and my Monitor Resolution is super weird. When i moved it over to my 1920x1080 monitor it looked perfect
23:56
My second monitor is 1680 x 1050 tho
Avatar
MikeTrethewey | Axiom Verge 2022-04-01 23:56
Regardless, even on a funky resolution, as long as it's landscape orientation, it would've increased the size of the map. I can't say by how much, but it definitely would've been larger.
23:57
You said that the map was too small. These edits will increase the size. The goal was a bigger map.
Avatar
De1taNoob 2022-04-01 23:59
Yes its way better now. Really appreciate it. Thank you!
👍 1
Avatar
MikeTrethewey | Axiom Verge 2022-04-10 12:29
Would adding notes to Dev Console about what’s being loaded from where, especially if it’s User Overrides, be a feasible thing?
Avatar
EmoSaru 2022-04-10 14:12
It’s possible, albeit a bit cumbersome and likely to be quite spammy as that happens at a very low level. Also, #suggestions please.
👍 1
Avatar
Avatar
MikeTrethewey | Axiom Verge
@De1taNoob ⚙-> Advanced -> Export Overrides Search for tracker Check the checkbox next to tracker_layout.json Click the "Export Overrides" button ⚙-> Advanced -> Open Override Folder Edit tracker_layout.json Replace with contents of below:
MikeTrethewey | Axiom Verge 2022-04-15 10:02
This does it for Spleebie & Darkened5ky’s tracker. These overrides are not expected to work for another pack. They could however be used as guidelines or inspiration for overrides for a different pack. The design behind it is to put each section of “items” adjacent to each other instead of just a single column. (edited)
10:04
Exists, yes. Used exactly the same way in all trackers, not exactly.
Avatar
codemann8 2022-04-15 10:06
I naively commented with only seeing the preview of the comment only showing 'tracker'
👍 1
Avatar
MikeTrethewey | Axiom Verge 2022-04-15 10:06
You’re forgiven. 😉
Avatar
XenoWars 2022-04-22 11:44
Sure it is
Avatar
ArcticArtimisFox 2022-04-25 17:58
can anyone help me with making PUGHUG transpaent in OBS I have NDI support, not sure on how to make it work. I know I read you have to mess with json files, just not sure on how to do it. If anyone can PM me it would be greatly appreciated to have this working thanks
Avatar
codemann8 2022-04-25 18:41
find the layout element that has a background color defined and change it to #00000000 (or exclude it entirely) (edited)
Avatar
TarThoron 2022-04-25 18:45
PugHUD has #000000 background on the broadcast layout by default. Had to delete that line. (We've been DMing, got it straightened out.)
Avatar
ArcticArtimisFox 2022-04-25 18:48
problem resolved
Avatar
codemann8 2022-04-25 18:49
6 0's doesnt remove the alpha (opacity) channel, you need 8 0's (edited)
Avatar
TarThoron 2022-04-25 18:55
Maybe fouton should add the extra 0s to the default. If that fixes the NDI support without messing with Andy's colorkey method, seems win win.
Avatar
EmoSaru 2022-04-25 19:46
That would mess with Andy's colorkey method
Avatar
PoryGone 2022-04-27 12:40
So I'm working on a new pack, and I have a setting (similar to # crystals to kill Ganon, for example), but the number could be anything between 0-150. Is there a way to make it still possible to specify an exact number, but not require the user to click 150 times for the larger potential values of that field?
Avatar
EmoSaru 2022-04-27 12:40
There is not currently a way to do direct numeric or text entry
12:41
You could build a counter out of e.g. 3 digit items, and then use a lua function to compute the actual value for logic purposes (edited)
Avatar
PoryGone 2022-04-27 12:42
Very true
Avatar
TarThoron 2022-04-29 19:02
@msmetroid what you're looking for is a composite toggle. Replace boomerangs with Fire/Ice rods.
{ "name": "Boomerangs", "type": "composite_toggle", "codes": "boomerangs", "item_left": "blueboomerang", "item_right": "redboomerang", "images": [ { "left": false, "right": false, "img": "images/boomerangs.png", "img_mods": "@disabled" }, { "left": true, "right": false, "img": "images/boomerangsblue.png" }, { "left": false, "right": true, "img": "images/boomerangsdisabled.png" }, { "left": true, "right": true, "img": "images/boomerangs.png" } ] }
(edited)
Avatar
MikeTrethewey | Axiom Verge 2022-04-29 19:13
Ahh, looks like Tar is on the case. I’ll check it out soon. :3
Avatar
msmetroid 2022-04-29 19:14
so there's no basic export/import? dats cool. good to know, thank you. :3
Avatar
MikeTrethewey | Axiom Verge 2022-04-29 19:14
Not cross-pack, nope.
Avatar
msmetroid 2022-04-29 19:21
understandable.
Avatar
Strifesada 2022-05-03 08:22
Hey quick question I am attempting to use a pack for emo tracker I found online and the layout is suck that I can not see anything located lower on the screen are below my monitor. Is there an easy way to "shrink" the layout of the entire pack to fix this? sorry if this is a dumb question.
Avatar
Avatar
Strifesada
Hey quick question I am attempting to use a pack for emo tracker I found online and the layout is suck that I can not see anything located lower on the screen are below my monitor. Is there an easy way to "shrink" the layout of the entire pack to fix this? sorry if this is a dumb question.
MikeTrethewey | Axiom Verge 2022-05-03 08:34
Got a link to the pack?
08:35
A screenshot of what you’re seeing would also help diagnose.
Avatar
Avatar
MikeTrethewey | Axiom Verge
Got a link to the pack?
Strifesada 2022-05-03 08:38
https://github.com/SaltContainer/PokemonEmeraldMapRandoTracker Theres supposed to be an array of key items in the lower left
EmoTracker Pack for Pokémon Emerald Map Randomizers. - GitHub - SaltContainer/PokemonEmeraldMapRandoTracker: EmoTracker Pack for Pokémon Emerald Map Randomizers.
Avatar
MikeTrethewey | Axiom Verge 2022-05-03 08:40
Oof. That’s pretty busy.
Avatar
Strifesada 2022-05-03 08:41
Yeah it Is which is partially why I wasnt able to disect it myself to try to solve it.
Avatar
MikeTrethewey | Axiom Verge 2022-05-03 08:41
Routes & Towns could be placed into their own tab group to reduce some of that top-level clutter.
08:44
See common.json referenced by layout key in tracker_standard.json in https://github.com/DorkmasterFlek/alttpsmemotracker/tree/master/layouts for nested tabs for maps.
Avatar
Strifesada 2022-05-03 08:45
ok I can look into that
Avatar
MikeTrethewey | Axiom Verge 2022-05-03 08:45
Looks like 36 routes would then be off of the top-level.
08:47
Except that I now see that they’re doubled. Looks like you may have been experimenting in that screenie.
Avatar
Strifesada 2022-05-03 08:48
IDK I havent touched anything except to download the pack
Avatar
MikeTrethewey | Axiom Verge 2022-05-03 08:48
Hmm, ok.
08:48
I’m not at home and won’t be for a while, so, I can’t tinker with it right now.
Avatar
Strifesada 2022-05-03 08:50
Np I think I can figure out a couple things myself I really just wanted to know if there was an easy way to scale down alot of it
Avatar
MikeTrethewey | Axiom Verge 2022-05-03 08:50
Looks like it could get about 18 (Routes) down to one and about 15 (Cities/Towns) down to one.
08:51
Basically: Categorize and reduce top-level clutter. I haven’t experimented yet with tabbed item toggle spots. That may also be an additional solution for some things like HMs & Badges.
08:52
If it’s got Area Rando (which it looks like it might), that’s probably why there’s two sets of named tabs. One for vanilla rooms and one to set what you’re seeing in your game.
Avatar
Strifesada 2022-05-03 08:57
Yeah the pack is for warp randomizer emerald
Avatar
MikeTrethewey | Axiom Verge 2022-05-03 08:57
Glancing at the code, there sure is a lot going on in there. Whoa, lol.
Avatar
Strifesada 2022-05-03 09:09
Yeah I think I can actually fit most everything by making a 4th column on the left hand side and cutting a few icons from the top left.
09:10
There's probably a more sophisticated solution but if this works I'll probably just roll with it
👍 1
Avatar
EmoSaru 2022-05-03 10:38
You can also just apply a scale to the entire left sidebar
Avatar
Strifesada 2022-05-03 16:22
How would I go about doing that?
Avatar
codemann8 2022-05-03 16:24
"scale": 0.90 for a 90% scale (edited)
16:27
Wrapping it in a viewbox layout type too could work, as long as there isn't a map object or a settings_popup type anywhere inside it (edited)
Avatar
Avatar
codemann8
Wrapping it in a viewbox layout type too could work, as long as there isn't a map object or a settings_popup type anywhere inside it (edited)
MikeTrethewey | Axiom Verge 2022-05-03 16:32
Not sure I’ve seen ”type”: “viewbox”
Avatar
codemann8 2022-05-03 16:33
it was a recent addition in the last update
Avatar
MikeTrethewey | Axiom Verge 2022-05-03 16:33
Ooh. Cool.
Avatar
codemann8 2022-05-03 16:33
it's a container that autoscales the contents to fit the area, similar to map objects (edited)
🤔 1
Avatar
BowserCrusher 2022-05-05 08:01
is there a way to make it so that all of the different checks can be clicked on, I usually have it in another view where I cant even see a bit of the last one
Avatar
codemann8 2022-05-05 08:04
That's a limitation of the base EmoTracker program, it has limited vertical range to display sub-locations. However, if you double click on the map blip, it'll show up in Pinned Locations in a fashion that might be more manageable.
Avatar
BowserCrusher 2022-05-05 08:05
yeah the problem with that is the way I have it (basically the tracker only using up half the screen) i dont have access to the pinned locations
Avatar
codemann8 2022-05-05 08:06
Yeah unfortunately I have no control over the display properties of that popup
Avatar
Avatar
codemann8
Yeah unfortunately I have no control over the display properties of that popup
MikeTrethewey | Axiom Verge 2022-05-05 08:47
Is there a PoD map view that makes those more-manageable?
Avatar
codemann8 2022-05-05 08:50
There is, but its not linked to the main map
Avatar
MikeTrethewey | Axiom Verge 2022-05-05 08:52
Ahh, gotcha.
Avatar
EmoSaru 2022-05-05 10:19
Adding more control over that pop is on my todo list, but I don’t have a specific ETA at this point.
Avatar
Fouton (PugHUD) 2022-05-06 11:38
If you want to use that pop in an awkward way, I've been dragging my window so the box that creates the pop is either at the very top or bottom of my monitor, as it either creates itself from the box as it's high point or low point dynamically, so you'll fit it all (as long as the pop itself isn't bigger than the entire monitor)
11:38
Obviously not ideal, and the pin method is more practical, but that is how I was doing it for the zootr tracker prior to knowing about the pin method
Avatar
TheTommynator 2022-05-07 09:10
Where would I remove the small key cap for keysanity tracker in the standard ALTTPR Support? I'm trying to make it compatible with door rando. Is there a simple way to override this?
Avatar
Lurch9229 2022-05-07 09:18
in the items json change the small key counter to a really high " max_quantity" is all I can suggest.
Avatar
Avatar
TheTommynator
Where would I remove the small key cap for keysanity tracker in the standard ALTTPR Support? I'm trying to make it compatible with door rando. Is there a simple way to override this?
MikeTrethewey | Axiom Verge 2022-05-07 09:18
Override items/keys.json
Avatar
Lurch9229 2022-05-07 09:18
or that, Forget about overrides sometimes
Avatar
MikeTrethewey | Axiom Verge 2022-05-07 09:18
Could just remove the max_quantity declaration.
Avatar
Avatar
TheTommynator
Where would I remove the small key cap for keysanity tracker in the standard ALTTPR Support? I'm trying to make it compatible with door rando. Is there a simple way to override this?
MikeTrethewey | Axiom Verge 2022-05-07 09:21
The default dungeon logic isn’t gonna translate to door Rando, unless you’re doing something about that too.
Avatar
TheTommynator 2022-05-07 12:49
That would'nt matter to me as long as I can see all the small keys I have for that dungeon. How hard would it be to copy the standard map keysanity profile and create a new one as an addition? Is that also possible as an override?
Exported 1,562 message(s)